diff options
Diffstat (limited to 'epan/dissectors/packet-pvfs2.c')
-rw-r--r-- | epan/dissectors/packet-pvfs2.c | 10 |
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", |