diff options
author | Michael Mann <mmann78@netscape.net> | 2017-03-04 18:33:33 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-03-05 09:05:10 +0000 |
commit | e23676c999d9926f984c4076c18a1060acb59ff4 (patch) | |
tree | 146a809b6c92b2f209abe13ece142a48613b0c94 /epan/wmem | |
parent | b7d6cca4aeffcf8df55d6fa2e4417b731923ac8c (diff) | |
download | wireshark-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.c | 9 | ||||
-rw-r--r-- | epan/wmem/wmem_user_cb.c | 2 |
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); |