From e2951a2ca8dd10c7c9e514c45ba8d4b2204b0b71 Mon Sep 17 00:00:00 2001 From: Dario Lombardo Date: Sun, 12 Feb 2017 00:04:31 +0100 Subject: [PATCH] stat_tap_ui: remove leaks. Change-Id: If7a28ba305bed9f63f200f8a8a27a796f2df9c07 Reviewed-on: https://code.wireshark.org/review/20015 Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- epan/conversation_table.c | 1 + epan/stat_tap_ui.c | 2 +- ui/cli/tap-follow.c | 1 + ui/cli/tap-rtd.c | 1 + ui/cli/tap-simple_stattable.c | 2 +- ui/cli/tap-srt.c | 1 + 6 files changed, 6 insertions(+), 2 deletions(-) diff --git a/epan/conversation_table.c b/epan/conversation_table.c index 6dab2e8601..2cfd7a032f 100644 --- a/epan/conversation_table.c +++ b/epan/conversation_table.c @@ -170,6 +170,7 @@ set_conv_gui_data(gpointer data, gpointer user_data) ui_info.nparams = 0; ui_info.params = NULL; register_stat_tap_ui(&ui_info, table); + g_free((char*)ui_info.cli_string); } void conversation_table_set_gui_info(conv_gui_init_cb init_cb) diff --git a/epan/stat_tap_ui.c b/epan/stat_tap_ui.c index 17e47b43c4..e9061fb70d 100644 --- a/epan/stat_tap_ui.c +++ b/epan/stat_tap_ui.c @@ -61,7 +61,7 @@ register_stat_tap_ui(stat_tap_ui *ui, void *userdata) stat_cmd_arg *newsca; newsca = wmem_new(wmem_epan_scope(), stat_cmd_arg); - newsca->cmd=ui->cli_string; + newsca->cmd= wmem_strdup(wmem_epan_scope(), ui->cli_string); newsca->func=ui->tap_init_cb; newsca->userdata=userdata; diff --git a/ui/cli/tap-follow.c b/ui/cli/tap-follow.c index 4872647c31..02f3b1c469 100644 --- a/ui/cli/tap-follow.c +++ b/ui/cli/tap-follow.c @@ -505,6 +505,7 @@ follow_register(const void *key _U_, void *value, void *userdata _U_) follow_ui.nparams = 0; follow_ui.params = NULL; register_stat_tap_ui(&follow_ui, follower); + g_free((char*)follow_ui.cli_string); return FALSE; } diff --git a/ui/cli/tap-rtd.c b/ui/cli/tap-rtd.c index ee3c0a64e5..d164b11f39 100644 --- a/ui/cli/tap-rtd.c +++ b/ui/cli/tap-rtd.c @@ -154,6 +154,7 @@ register_rtd_tables(const void *key _U_, void *value, void *userdata _U_) ui_info.nparams = 0; ui_info.params = NULL; register_stat_tap_ui(&ui_info, rtd); + g_free((char*)ui_info.cli_string); return FALSE; } diff --git a/ui/cli/tap-simple_stattable.c b/ui/cli/tap-simple_stattable.c index 4f3f4d9da7..3d774e313b 100644 --- a/ui/cli/tap-simple_stattable.c +++ b/ui/cli/tap-simple_stattable.c @@ -148,7 +148,7 @@ register_simple_stat_tables(const void *key, void *value, void *userdata _U_) ui_info.group = new_stat_tap->group; ui_info.title = new_stat_tap->title; /* construct this from the protocol info? */ - ui_info.cli_string = (const char*)key; + ui_info.cli_string = (char*)key; ui_info.tap_init_cb = simple_stat_init; ui_info.nparams = new_stat_tap->nparams; ui_info.params = new_stat_tap->params; diff --git a/ui/cli/tap-srt.c b/ui/cli/tap-srt.c index 11286c5dfb..5dc77faa9d 100644 --- a/ui/cli/tap-srt.c +++ b/ui/cli/tap-srt.c @@ -180,6 +180,7 @@ register_srt_tables(const void *key _U_, void *value, void *userdata _U_) ui_info.nparams = 0; ui_info.params = NULL; register_stat_tap_ui(&ui_info, srt); + g_free((char*)ui_info.cli_string); return FALSE; }