summaryrefslogtreecommitdiff
path: root/wiretap/wtap_opttypes.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/wtap_opttypes.c')
-rw-r--r--wiretap/wtap_opttypes.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/wiretap/wtap_opttypes.c b/wiretap/wtap_opttypes.c
index 94ff7682fb..4ecc9bd7a0 100644
--- a/wiretap/wtap_opttypes.c
+++ b/wiretap/wtap_opttypes.c
@@ -155,6 +155,7 @@ static void wtap_optionblock_free_options(wtap_optionblock_t block)
void wtap_optionblock_free(wtap_optionblock_t block)
{
+ unsigned i;
if (block != NULL)
{
if (block->info->free_mand != NULL)
@@ -162,10 +163,12 @@ void wtap_optionblock_free(wtap_optionblock_t block)
g_free(block->mandatory_data);
wtap_optionblock_free_options(block);
+ for (i = 0; i < block->option_infos->len; i++)
+ g_free(g_array_index(block->option_infos, wtap_optblock_internal_t*, i));
if (block->option_infos != NULL)
- g_array_free(block->option_infos, FALSE);
+ g_array_free(block->option_infos, TRUE);
if (block->option_values != NULL)
- g_array_free(block->option_values, FALSE);
+ g_array_free(block->option_values, TRUE);
g_free(block);
}
}