summaryrefslogtreecommitdiff
path: root/plugins/profinet/packet-dcerpc-pn-io.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2015-06-30 01:11:10 +0200
committerPeter Wu <peter@lekensteyn.nl>2015-07-03 23:54:45 +0200
commit1948fe69bd7d3dba547c1708653ec4fbc08655ac (patch)
tree220139bf21a43bb8a42fdac2f2e3507f9022fcd6 /plugins/profinet/packet-dcerpc-pn-io.c
parent57a150f307dbe0469ce3468ca6d4784d0e3f955c (diff)
downloadwireshark-1948fe69bd7d3dba547c1708653ec4fbc08655ac.tar.gz
plugins: add cleanup routinescleanup_routine
Destroy the reassembly tables on exit, fix memleak in profinet dissector. Change-Id: Id34dbfde42fe715513997452f87cd4fdc328e294
Diffstat (limited to 'plugins/profinet/packet-dcerpc-pn-io.c')
-rw-r--r--plugins/profinet/packet-dcerpc-pn-io.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/profinet/packet-dcerpc-pn-io.c b/plugins/profinet/packet-dcerpc-pn-io.c
index c4579c9709..aac79965b5 100644
--- a/plugins/profinet/packet-dcerpc-pn-io.c
+++ b/plugins/profinet/packet-dcerpc-pn-io.c
@@ -2642,7 +2642,7 @@ dissect_profidrive_value(tvbuff_t *tvb, gint offset, packet_info *pinfo,
return(offset);
}
-GList *pnio_ars;
+static GList *pnio_ars;
typedef struct pnio_ar_s {
/* generic */
@@ -9759,7 +9759,8 @@ static dcerpc_sub_dissector pn_io_dissectors[] = {
static void
-pnio_reinit( void) {
+pnio_cleanup(void) {
+ g_list_free(pnio_ars);
pnio_ars = NULL;
}
@@ -12251,7 +12252,7 @@ proto_register_pn_io (void)
new_register_dissector("pn_io", dissect_PNIO_heur, proto_pn_io);
heur_pn_subdissector_list = register_heur_dissector_list("pn_io");
- register_init_routine(pnio_reinit);
+ register_cleanup_routine(pnio_cleanup);
register_dissector_filter("PN-IO AR", pn_io_ar_conv_valid, pn_io_ar_conv_filter);
register_dissector_filter("PN-IO AR (with data)", pn_io_ar_conv_valid, pn_io_ar_conv_data_filter);