X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=decode.c;h=adbe73b32e90a80209f7a3f31a1248a23d971f9b;hp=8a52edac4aea5610b3443f1bcd59869f1a9d5a6a;hb=c5e0e72ee3bcc799d1510c9fb91b3a0073766b2a;hpb=e9e4dc4d7ecc678cffaa9a93034319f7e02f33b9 diff --git a/decode.c b/decode.c index 8a52eda..adbe73b 100644 --- a/decode.c +++ b/decode.c @@ -194,6 +194,10 @@ static int register_pd(char *opt_pds, char *opt_pd_annotations) g_hash_table_remove(pd_ann_visible, di_prior->inst_id); } di_prior = di; + g_free(pd_name); + g_hash_table_destroy(pd_opthash); + g_hash_table_destroy(options); + pd_opthash = options = NULL; } if (pd_opthash) @@ -204,7 +208,6 @@ static int register_pd(char *opt_pds, char *opt_pd_annotations) g_hash_table_destroy(channels); g_strfreev(pdtokens); - g_free(pd_name); return ret; } @@ -272,6 +275,7 @@ static void map_pd_inst_channels(void *key, void *value, void *user_data) } srd_inst_channel_set_all(di, channel_indices); + g_hash_table_destroy(channel_indices); } void map_pd_channels(struct sr_dev_inst *sdi)