From: Karl Palsson Date: Tue, 29 Nov 2016 14:32:29 +0000 (+0000) Subject: valgrind: Clear more unfreed memory issues X-Git-Tag: sigrok-cli-0.7.0~16 X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=commitdiff_plain;h=c5e0e72ee3bcc799d1510c9fb91b3a0073766b2a valgrind: Clear more unfreed memory issues Command line used for checking: $ valgrind -v --leak-check=full ./sigrok-cli \ -i rockband_wireless_keyboard_wii/midi_key4.sr \ -P uart:baudrate=31250,midi -P uart:baudrate=31250,midi Signed-off-by: Karl Palsson --- 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)