summaryrefslogtreecommitdiff
path: root/epan/wmem
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-03-04 18:33:33 -0500
committerAnders Broman <a.broman58@gmail.com>2017-03-05 09:05:10 +0000
commite23676c999d9926f984c4076c18a1060acb59ff4 (patch)
tree146a809b6c92b2f209abe13ece142a48613b0c94 /epan/wmem
parentb7d6cca4aeffcf8df55d6fa2e4417b731923ac8c (diff)
downloadwireshark-e23676c999d9926f984c4076c18a1060acb59ff4.tar.gz
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 <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Evan Huus <eapache@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Diffstat (limited to 'epan/wmem')
-rw-r--r--epan/wmem/wmem_tree.c9
-rw-r--r--epan/wmem/wmem_user_cb.c2
2 files changed, 4 insertions, 7 deletions
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);