summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-dtls.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-dtls.c')
-rw-r--r--epan/dissectors/packet-dtls.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/epan/dissectors/packet-dtls.c b/epan/dissectors/packet-dtls.c
index cd9da7db20..d5182df09e 100644
--- a/epan/dissectors/packet-dtls.c
+++ b/epan/dissectors/packet-dtls.c
@@ -184,7 +184,7 @@ dtls_init(void)
module_t *dtls_module = prefs_find_module("dtls");
pref_t *keys_list_pref;
- ssl_common_init(&dtls_master_key_map, &dtls_keylog_file,
+ ssl_common_init(&dtls_master_key_map,
&dtls_decrypted_data, &dtls_compressed_data);
reassembly_table_init (&dtls_reassembly_table, &addresses_ports_reassembly_table_functions);
@@ -197,6 +197,14 @@ dtls_init(void)
}
}
+static void
+dtls_cleanup(void)
+{
+ reassembly_table_destroy(&dtls_reassembly_table);
+ ssl_common_cleanup(&dtls_master_key_map, &dtls_keylog_file,
+ &dtls_decrypted_data, &dtls_compressed_data);
+}
+
/* parse dtls related preferences (private keys and ports association strings) */
static void
dtls_parse_uat(void)
@@ -1934,6 +1942,7 @@ proto_register_dtls(void)
dtls_associations = g_tree_new(ssl_association_cmp);
register_init_routine(dtls_init);
+ register_cleanup_routine(dtls_cleanup);
ssl_lib_init();
dtls_tap = register_tap("dtls");
ssl_debug_printf("proto_register_dtls: registered tap %s:%d\n",