summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-atalk.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-atalk.c')
-rw-r--r--epan/dissectors/packet-atalk.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-atalk.c b/epan/dissectors/packet-atalk.c
index 4beecae7ff..85300f7128 100644
--- a/epan/dissectors/packet-atalk.c
+++ b/epan/dissectors/packet-atalk.c
@@ -1618,15 +1618,16 @@ dissect_llap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
static void
atp_init(void)
{
- /* fragment */
reassembly_table_init(&atp_reassembly_table,
&addresses_reassembly_table_functions);
- /* bitmap */
- if (atp_request_hash)
- g_hash_table_destroy(atp_request_hash);
-
atp_request_hash = g_hash_table_new(asp_hash, asp_equal);
+}
+static void
+atp_cleanup(void)
+{
+ reassembly_table_destroy(&atp_reassembly_table);
+ g_hash_table_destroy(atp_request_hash);
}
static void
@@ -2110,6 +2111,7 @@ proto_reg_handoff_atalk(void)
dissector_add_uint("wtap_encap", WTAP_ENCAP_LOCALTALK, llap_handle);
register_init_routine( atp_init);
+ register_cleanup_routine( atp_cleanup);
register_init_routine( &asp_reinit);
afp_handle = find_dissector("afp");