diff options
Diffstat (limited to 'plugins/profinet')
-rw-r--r-- | plugins/profinet/packet-dcerpc-pn-io.c | 7 | ||||
-rw-r--r-- | plugins/profinet/packet-dcom-cba.c | 5 | ||||
-rw-r--r-- | plugins/profinet/packet-pn-rt.c | 20 |
3 files changed, 16 insertions, 16 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); diff --git a/plugins/profinet/packet-dcom-cba.c b/plugins/profinet/packet-dcom-cba.c index b89e9fcfac..244b102cb0 100644 --- a/plugins/profinet/packet-dcom-cba.c +++ b/plugins/profinet/packet-dcom-cba.c @@ -1366,7 +1366,8 @@ static dcerpc_sub_dissector ICBASystemProperties_dissectors[] = { }; -static void cba_reinit( void) { +static void cba_cleanup(void) { + g_list_free(cba_pdevs); cba_pdevs = NULL; } @@ -1642,7 +1643,7 @@ proto_register_dcom_cba (void) proto_ICBASystemProperties = proto_register_protocol ("ICBASystemProperties", "ICBASysProp", "cba_sysprop"); - register_init_routine(cba_reinit); + register_cleanup_routine(cba_cleanup); } diff --git a/plugins/profinet/packet-pn-rt.c b/plugins/profinet/packet-pn-rt.c index 3c43197a6a..cfbfcd3ab2 100644 --- a/plugins/profinet/packet-pn-rt.c +++ b/plugins/profinet/packet-pn-rt.c @@ -342,21 +342,18 @@ static void pnio_defragment_init(void) { guint32 i; - - if ( reasembled_frag_table != NULL ) { - g_hash_table_destroy( reasembled_frag_table ); - reasembled_frag_table = NULL; - } - for (i=0; i < 16; i++) /* init the reasemble help array */ start_frag_OR_ID[i] = 0; - reassembly_table_init(&pdu_reassembly_table, &addresses_reassembly_table_functions); - if (reasembled_frag_table == NULL) - { - reasembled_frag_table = g_hash_table_new(NULL, NULL); - } + reasembled_frag_table = g_hash_table_new(NULL, NULL); +} + +static void +pnio_defragment_cleanup(void) +{ + g_hash_table_destroy(reasembled_frag_table); + reassembly_table_destroy(&pdu_reassembly_table); } /* possibly dissect a FRAG_PDU related PN-RT packet */ @@ -988,6 +985,7 @@ proto_register_pn_rt(void) init_pn (proto_pn_rt); register_init_routine(pnio_defragment_init); + register_cleanup_routine(pnio_defragment_cleanup); } |