From e23676c999d9926f984c4076c18a1060acb59ff4 Mon Sep 17 00:00:00 2001 From: Michael Mann Date: Sat, 4 Mar 2017 18:33:33 -0500 Subject: wmem: Ensure callbacks are initialized and not accidentally unregistered Start the "callback register ID" at 1, so that zeroed out callback IDs are not found during unregister. Change-Id: I1d7d70f53d89c40e07d1637e1e195dd027855ed3 Reviewed-on: https://code.wireshark.org/review/20385 Reviewed-by: Michael Mann Petri-Dish: Michael Mann Reviewed-by: Evan Huus Tested-by: Petri Dish Buildbot --- epan/wmem/wmem_tree.c | 9 +++------ epan/wmem/wmem_user_cb.c | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'epan/wmem') diff --git a/epan/wmem/wmem_tree.c b/epan/wmem/wmem_tree.c index c7f3f56ebd..71815c7567 100644 --- a/epan/wmem/wmem_tree.c +++ b/epan/wmem/wmem_tree.c @@ -211,11 +211,10 @@ wmem_tree_new(wmem_allocator_t *allocator) { wmem_tree_t *tree; - tree = wmem_new(allocator, wmem_tree_t); + tree = wmem_new0(allocator, wmem_tree_t); tree->master = allocator; tree->allocator = allocator; - tree->root = NULL; - tree->post_rotation_cb = NULL; + return tree; } @@ -251,11 +250,9 @@ wmem_tree_new_autoreset(wmem_allocator_t *master, wmem_allocator_t *slave) { wmem_tree_t *tree; - tree = wmem_new(master, wmem_tree_t); + tree = wmem_new0(master, wmem_tree_t); tree->master = master; tree->allocator = slave; - tree->root = NULL; - tree->post_rotation_cb = NULL; tree->master_cb_id = wmem_register_callback(master, wmem_tree_destroy_cb, tree); diff --git a/epan/wmem/wmem_user_cb.c b/epan/wmem/wmem_user_cb.c index 8a386bc5b8..b68f8fed98 100644 --- a/epan/wmem/wmem_user_cb.c +++ b/epan/wmem/wmem_user_cb.c @@ -67,7 +67,7 @@ wmem_register_callback(wmem_allocator_t *allocator, wmem_user_cb_t callback, void *user_data) { wmem_user_cb_container_t *container; - static guint next_id = 0; + static guint next_id = 1; container = wmem_new(NULL, wmem_user_cb_container_t); -- cgit v1.2.1