diff options
author | Tomasz Moń <desowin@gmail.com> | 2019-05-16 19:37:19 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2019-05-20 14:30:32 +0000 |
commit | 0955f15ba2a1b534212ba937a6e7ae1ffa508b76 (patch) | |
tree | e557009ef6785e5a05132033c1078db00721f218 /extcap_parser.c | |
parent | b45e868e37ce18a9d672bc659088131cfbd461ee (diff) |
extcap: Fix memory leak in extcap_free_toolbar_control()
Remove duplicate defition of extcap_free_toolbar_control() and
extcap_free_toolbar_value().
Change-Id: Ia4c8ca6160017d769616579db158419426e664b7
Reviewed-on: https://code.wireshark.org/review/33224
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'extcap_parser.c')
-rw-r--r-- | extcap_parser.c | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/extcap_parser.c b/extcap_parser.c index 44ca9bfd56..efc0e2c842 100644 --- a/extcap_parser.c +++ b/extcap_parser.c @@ -281,24 +281,34 @@ void extcap_free_arg(extcap_arg *a) { g_free(a); } -static void extcap_free_toolbar_value(iface_toolbar_value *v) { - if (v == NULL) +static void extcap_free_toolbar_value(iface_toolbar_value *value) +{ + if (value == NULL) + { return; + } - g_free(v->value); - g_free(v->display); - g_free(v); + g_free(value->value); + g_free(value->display); + g_free(value); } -static void extcap_free_toolbar_control(iface_toolbar_control *c) { - if (c == NULL) +void extcap_free_toolbar_control(iface_toolbar_control *control) +{ + if (control == NULL) + { return; + } - g_free(c->display); - g_free(c->validation); - g_free(c->tooltip); - g_free(c->placeholder); - g_free(c); + g_free(control->display); + g_free(control->validation); + g_free(control->tooltip); + g_free(control->placeholder); + if (control->ctrl_type == INTERFACE_TYPE_STRING) { + g_free(control->default_value.string); + } + g_list_free_full(control->values, (GDestroyNotify)extcap_free_toolbar_value); + g_free(control); } void extcap_free_arg_list(GList *a) { |