X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.c;h=dbe0b2cdecd3c2d297c0b7686ddece50dbd23bd4;hp=c60d3bb1bb144a46be5e139ec38ce8e3f1b1f11a;hb=49dbdb782e21dda3e9be242ddcc37f0bcd06f4a7;hpb=d80c8dd0c8b6a7507ff8e16ba46734da394acecf diff --git a/sigrok-cli.c b/sigrok-cli.c index c60d3bb..dbe0b2c 100644 --- a/sigrok-cli.c +++ b/sigrok-cli.c @@ -178,11 +178,14 @@ static GSList *device_scan(void) } if (!driver) { g_critical("Driver %s not found.", drvname); + g_hash_table_destroy(drvargs); + g_free(drvname); return NULL; } g_free(drvname); if (sr_driver_init(sr_ctx, driver) != SR_OK) { g_critical("Failed to initialize driver."); + g_hash_table_destroy(drvargs); return NULL; } drvopts = NULL; @@ -193,7 +196,7 @@ static GSList *device_scan(void) return NULL; } } - g_hash_table_destroy(drvargs); + g_hash_table_destroy(drvargs); devices = sr_driver_scan(driver, drvopts); g_slist_free_full(drvopts, (GDestroyNotify)free_drvopts); } else {