]> sigrok.org Git - sigrok-cli.git/blobdiff - sigrok-cli.c
sigrok-cli.c: Fix memory leak in parsing of hardware options
[sigrok-cli.git] / sigrok-cli.c
index bb9305f6d521061dde7dac0966bab78735355e0c..70d3a59ee6cc2c3517c21baa84469619a129e255 100644 (file)
@@ -140,6 +140,12 @@ static GSList *hash_to_hwopt(GHashTable *hash)
        return opts;
 }
 
+static void free_hwopt(struct sr_hwopt *hwopt)
+{
+       g_free((void *)hwopt->value);
+       g_free(hwopt);
+}
+
 static GSList *device_scan(void)
 {
        struct sr_dev_driver **drivers, *driver;
@@ -174,6 +180,7 @@ static GSList *device_scan(void)
                                /* Unknown options, already logged. */
                                return NULL;
                devices = sr_driver_scan(driver, drvopts);
+               g_slist_free_full(drvopts, (GDestroyNotify)free_hwopt);
        } else {
                /* No driver specified, let them all scan on their own. */
                devices = NULL;