During parsing of hardware options, hash_to_hwopt() creates a GSList that is
passed to device_scan(). The list is discarded by device_scan() and never freed.
This is identified by valgrind as "definitely lost".
Call g_slist_free_full() on the list when it is no longer needed.
Signed-off-by: Alexandru Gagniuc <redacted>
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;
/* 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;