diff options
author | Dario Lombardo <lomato@gmail.com> | 2017-01-20 17:02:52 +0100 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-01-21 00:28:28 +0000 |
commit | 317649f94984cf3d17f2a57badebb78d7703cdb5 (patch) | |
tree | 6a2c029b05e75c0934ccea4b1fc2d6bae0b3b2b6 /epan/reassemble.c | |
parent | d020990f0356f4793e00209ae99e9f2dd7b843c9 (diff) | |
download | wireshark-317649f94984cf3d17f2a57badebb78d7703cdb5.tar.gz |
reassemble: add cleanup routine.
Change-Id: I948d342a29aacc2212076359e5b073113c50c5de
Reviewed-on: https://code.wireshark.org/review/19697
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/reassemble.c')
-rw-r--r-- | epan/reassemble.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/epan/reassemble.c b/epan/reassemble.c index d28f7f1293..b1363d8314 100644 --- a/epan/reassemble.c +++ b/epan/reassemble.c @@ -41,6 +41,8 @@ typedef struct _fragment_addresses_key { guint32 id; } fragment_addresses_key; +GList* reassembly_table_list = NULL; + static guint fragment_addresses_hash(gconstpointer k) { @@ -463,6 +465,8 @@ reassembly_table_init(reassembly_table *table, table->reassembled_table = g_hash_table_new_full(reassembled_hash, reassembled_equal, reassembled_key_free, NULL); } + + reassembly_table_list = g_list_append(reassembly_table_list, table); } /* @@ -2786,6 +2790,19 @@ show_fragment_seq_tree(fragment_head *fd_head, const fragment_items *fit, return show_fragment_errs_in_col(fd_head, fit, pinfo); } +void +reassembly_table_free(gpointer p, gpointer user_data _U_) +{ + reassembly_table_destroy((reassembly_table*)p); +} + +void +reassembly_table_cleanup(void) +{ + g_list_foreach(reassembly_table_list, reassembly_table_free, NULL); + g_list_free(reassembly_table_list); +} + /* * Editor modelines - http://www.wireshark.org/tools/modelines.html * |