aboutsummaryrefslogtreecommitdiffstats
path: root/extcap_parser.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2016-02-03 18:38:53 +0100
committerAnders Broman <a.broman58@gmail.com>2016-02-03 21:01:55 +0000
commitc3c93869fc736e36649f1cd6e33f00b49cb3122f (patch)
tree2725e69e84b7853905b1c4e18209a29c79f84bf1 /extcap_parser.c
parent7f3f11f88fc47d0d78780e39907fe92fccefb135 (diff)
extcap: do not leak "version" field
Caught by LeakSanitizer: Direct leak of 18 byte(s) in 3 object(s) allocated from: #0 0x55ec8c5ffec8 in __interceptor_malloc (run/wireshark+0x145dec8) #1 0x7f4d021e4328 in g_malloc /build/src/glib-2.46.2/glib/gmem.c:94 #2 0x7f4d021fd0de in g_strdup /build/src/glib-2.46.2/glib/gstrfuncs.c:363 #3 0x55ec8c6ce514 in extcap_parse_interface_sentence extcap_parser.c:670:26 #4 0x55ec8c6ce7ad in extcap_parse_interfaces extcap_parser.c:683:13 #5 0x55ec8c6b6781 in interfaces_cb extcap.c:313:5 #6 0x55ec8c6b4ce6 in extcap_foreach extcap.c:206:26 #7 0x55ec8c6b62a6 in extcap_interface_list extcap.c:415:5 #8 0x55ec8c6b7fab in extcap_register_preferences extcap.c:437:9 #9 0x55ec8c63104a in main wireshark-qt.cpp:847:5 #10 0x7f4ce8f4460f in __libc_start_main (/usr/lib/libc.so.6+0x2060f) #11 0x55ec8c569ed8 in _start (run/wireshark+0x13c7ed8) Change-Id: I0ef89e647b2cc9aab495a80f6c638e9b67cf3ad1 Reviewed-on: https://code.wireshark.org/review/13692 Reviewed-by: Dario Lombardo <lomato@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'extcap_parser.c')
-rw-r--r--extcap_parser.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/extcap_parser.c b/extcap_parser.c
index 652d7dde14..5a02df08ff 100644
--- a/extcap_parser.c
+++ b/extcap_parser.c
@@ -310,12 +310,9 @@ void extcap_free_interface(extcap_interface *i) {
while (i) {
next_i = i->next_interface;
- if (i->call != NULL)
- g_free(i->call);
-
- if (i->display != NULL)
- g_free(i->display);
-
+ g_free(i->call);
+ g_free(i->display);
+ g_free(i->version);
g_free(i);
i = next_i;
}