From 6f18fed9abfecc65044219b0a11622c4115c5ef2 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Tue, 14 Feb 2017 18:41:25 +0100 Subject: [PATCH] wiretap: fix wtap_opttypes_cleanup() function Change-Id: I475e2bc54af470e380e23e5dd98198885e189d6f Reviewed-on: https://code.wireshark.org/review/20106 Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin --- wiretap/wtap_opttypes.c | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/wiretap/wtap_opttypes.c b/wiretap/wtap_opttypes.c index 6f09b1ba03..0eff117002 100644 --- a/wiretap/wtap_opttypes.c +++ b/wiretap/wtap_opttypes.c @@ -86,7 +86,7 @@ static void wtap_opttype_block_register(wtap_block_type_t block_type, wtap_block static const wtap_opttype_t opt_comment = { "opt_comment", "Comment", - WTAP_OPTTYPE_STRING, + WTAP_OPTTYPE_STRING, WTAP_OPTTYPE_FLAG_MULTIPLE_ALLOWED, NULL, NULL @@ -1234,20 +1234,13 @@ void wtap_opttypes_initialize(void) void wtap_opttypes_cleanup(void) { - if (blocktype_list[WTAP_BLOCK_NG_SECTION]->options) { - g_array_free(blocktype_list[WTAP_BLOCK_NG_SECTION]->options, TRUE); - blocktype_list[WTAP_BLOCK_NG_SECTION]->options = NULL; - } - if (blocktype_list[WTAP_BLOCK_IF_DESCR]->options) { - g_array_free(blocktype_list[WTAP_BLOCK_IF_DESCR]->options, TRUE); - blocktype_list[WTAP_BLOCK_IF_DESCR]->options = NULL; - } - if (blocktype_list[WTAP_BLOCK_NG_NRB]->options) { - g_array_free(blocktype_list[WTAP_BLOCK_NG_NRB]->options, TRUE); - blocktype_list[WTAP_BLOCK_NG_NRB]->options = NULL; - } - if (blocktype_list[WTAP_BLOCK_IF_STATS]->options) { - g_array_free(blocktype_list[WTAP_BLOCK_IF_STATS]->options, TRUE); - blocktype_list[WTAP_BLOCK_IF_STATS]->options = NULL; + guint block_type; + + for (block_type = 0; block_type < (WTAP_BLOCK_END_OF_LIST+num_custom_blocks); block_type++) { + if (blocktype_list[block_type]) { + if (blocktype_list[block_type]->options) + g_array_free(blocktype_list[block_type]->options, TRUE); + blocktype_list[block_type] = NULL; + } } }