aboutsummaryrefslogtreecommitdiffstats
path: root/extcap_parser.c
diff options
context:
space:
mode:
authorTomasz Moń <desowin@gmail.com>2019-05-16 19:37:19 +0200
committerPeter Wu <peter@lekensteyn.nl>2019-05-20 14:30:32 +0000
commit0955f15ba2a1b534212ba937a6e7ae1ffa508b76 (patch)
treee557009ef6785e5a05132033c1078db00721f218 /extcap_parser.c
parentb45e868e37ce18a9d672bc659088131cfbd461ee (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.c34
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) {