aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ntlmssp.c
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2015-06-28 13:18:58 -0700
committerMichael Mann <mmann78@netscape.net>2015-07-03 23:37:18 +0000
commitea46cf4f73c72bf343a5d07ba33166d696a3d1f6 (patch)
tree72b7ea5bc05e06dcd526ec3b170604bffd2a62f5 /epan/dissectors/packet-ntlmssp.c
parent7ce77c69ea4f3424616558729ec23cf3dd1de694 (diff)
Split init of misc dissectors into init/cleanup functions
Convert remaining dissectors to use cleanup routines when possible. (Single-)linked lists require NULL, so do reset their pointers to NULL. Generated with https://git.lekensteyn.nl/peter/wireshark-notes/diff/one-off/cleanup-rewrite.py?id=69af86e6c2cf965ba3d7f9636b647b195f0b7d57 (with AUDIT = ALWAYS_EMIT_CLEANUP_CODE = True) Remaining dissectors which did not need further changes: epan/dissectors/packet-aeron.c epan/dissectors/packet-bootp.c epan/dissectors/packet-brdwlk.c epan/dissectors/packet-drda.c epan/dissectors/packet-etch.c epan/dissectors/packet-fix.c epan/dissectors/packet-fw1.c epan/dissectors/packet-lbm.c epan/dissectors/packet-ldss.c epan/dissectors/packet-simulcrypt.c epan/dissectors/packet-spdy.c epan/dissectors/packet-starteam.c epan/dissectors/packet-udp.c Change-Id: Idcacfea6a5de38d40e67db4cdcd0452ad9f9a6a9 Reviewed-on: https://code.wireshark.org/review/9228 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-ntlmssp.c')
-rw-r--r--epan/dissectors/packet-ntlmssp.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/epan/dissectors/packet-ntlmssp.c b/epan/dissectors/packet-ntlmssp.c
index a066d0ca0d..73b28231c1 100644
--- a/epan/dissectors/packet-ntlmssp.c
+++ b/epan/dissectors/packet-ntlmssp.c
@@ -2587,21 +2587,18 @@ header_equal(gconstpointer pointer1, gconstpointer pointer2)
static void
ntlmssp_init_protocol(void)
{
- /*
- * Free the decrypted payloads, and then free the list of decrypted
- * payloads.
- */
+ hash_packet = g_hash_table_new(header_hash, header_equal);
+}
+
+static void
+ntlmssp_cleanup_protocol(void)
+{
if (decrypted_payloads != NULL) {
g_slist_foreach(decrypted_payloads, free_payload, NULL);
g_slist_free(decrypted_payloads);
decrypted_payloads = NULL;
}
-
- if (hash_packet != NULL) {
- g_hash_table_remove_all(hash_packet);
- } else {
- hash_packet = g_hash_table_new(header_hash, header_equal);
- }
+ g_hash_table_destroy(hash_packet);
}
@@ -3267,6 +3264,7 @@ proto_register_ntlmssp(void)
expert_ntlmssp = expert_register_protocol(proto_ntlmssp);
expert_register_field_array(expert_ntlmssp, ei, array_length(ei));
register_init_routine(&ntlmssp_init_protocol);
+ register_cleanup_routine(&ntlmssp_cleanup_protocol);
ntlmssp_module = prefs_register_protocol(proto_ntlmssp, NULL);