aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-igmp.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2015-06-07 23:21:14 +0200
committerAnders Broman <a.broman58@gmail.com>2015-06-08 04:21:48 +0000
commit2c56c6fa76d8b0f82a2eaa13a1890c6bf9e02cc8 (patch)
treed31383d0065357e1be9835e03726a9f9970399fd /epan/dissectors/packet-igmp.c
parent5472e4d6e9bdd9b2ed9651e471058f4209070c59 (diff)
igmp: fix memleak
dissector_add_uint_range walks through ranges and then does not need the range anymore. Discovered with `tshark -G fields` and GCC 5.1 + ASAN. Change-Id: I76f98a6ccee6dbbecc1efb847c358bd6d010e1dc Reviewed-on: https://code.wireshark.org/review/8825 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-igmp.c')
-rw-r--r--epan/dissectors/packet-igmp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/epan/dissectors/packet-igmp.c b/epan/dissectors/packet-igmp.c
index db1b3b642c..9b141c20a1 100644
--- a/epan/dissectors/packet-igmp.c
+++ b/epan/dissectors/packet-igmp.c
@@ -1116,7 +1116,7 @@ proto_reg_handoff_igmp(void)
{
dissector_handle_t igmp_handle, igmpv0_handle, igmpv1_handle, igmpv2_handle,
igmp_mquery_handle, igmp_mtrace_handle, igmp_report_handle;
- range_t *igmpv0_range;
+ range_t *igmpv0_range = NULL;
igmp_handle = create_dissector_handle(dissect_igmp, proto_igmp);
dissector_add_uint("ip.proto", IP_PROTO_IGMP, igmp_handle);
@@ -1125,6 +1125,7 @@ proto_reg_handoff_igmp(void)
range_convert_str(&igmpv0_range, "0-15", 15);
igmpv0_handle = new_create_dissector_handle(dissect_igmp_v0, proto_igmp);
dissector_add_uint_range("igmp.type", igmpv0_range, igmpv0_handle);
+ g_free(igmpv0_range);
/* IGMP v1 */
igmpv1_handle = new_create_dissector_handle(dissect_igmp_v1, proto_igmp);