diff options
author | Peter Wu <peter@lekensteyn.nl> | 2015-06-28 13:18:58 -0700 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-07-03 23:37:18 +0000 |
commit | ea46cf4f73c72bf343a5d07ba33166d696a3d1f6 (patch) | |
tree | 72b7ea5bc05e06dcd526ec3b170604bffd2a62f5 /epan/dissectors/packet-ntlmssp.c | |
parent | 7ce77c69ea4f3424616558729ec23cf3dd1de694 (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.c | 18 |
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); |