summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-pvfs2.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-pvfs2.c')
-rw-r--r--epan/dissectors/packet-pvfs2.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/epan/dissectors/packet-pvfs2.c b/epan/dissectors/packet-pvfs2.c
index 40fcc802dc..c4c435c57f 100644
--- a/epan/dissectors/packet-pvfs2.c
+++ b/epan/dissectors/packet-pvfs2.c
@@ -2916,13 +2916,16 @@ pvfs2_io_tracking_hash(gconstpointer k)
static void
pvfs2_io_tracking_init(void)
{
- if (pvfs2_io_tracking_value_table != NULL)
- g_hash_table_destroy(pvfs2_io_tracking_value_table);
-
pvfs2_io_tracking_value_table = g_hash_table_new(pvfs2_io_tracking_hash,
pvfs2_io_tracking_equal);
}
+static void
+pvfs2_io_tracking_cleanup(void)
+{
+ g_hash_table_destroy(pvfs2_io_tracking_value_table);
+}
+
static pvfs2_io_tracking_value_t *
pvfs2_io_tracking_new_with_tag(guint64 tag, guint32 num)
{
@@ -3611,6 +3614,7 @@ proto_register_pvfs(void)
expert_register_field_array(expert_pvfs, ei, array_length(ei));
register_init_routine(pvfs2_io_tracking_init);
+ register_cleanup_routine(pvfs2_io_tracking_cleanup);
pvfs_module = prefs_register_protocol(proto_pvfs, NULL);
prefs_register_bool_preference(pvfs_module, "desegment",