wmem_tree: fix crash with wmem_tree_destroy and NULL scope
The function was documented for use with a NULL scope, but it actually crashes since callbacks are not available for NULL scopes. git master is unaffected, but the GTK+ protocol dialog in 2.4 and 2.6 do crash. Bug: 14349 Change-Id: I54350e112192394797cf85eaac4f30194178d7c4 Fixes: v2.3.0rc0-2597-gb7d6cca4ae ("Add wmem_tree_destroy") Reviewed-on: https://code.wireshark.org/review/30126 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
f57cf9e56c
commit
f4be16aa45
|
@ -284,8 +284,12 @@ void
|
|||
wmem_tree_destroy(wmem_tree_t *tree, gboolean free_keys, gboolean free_values)
|
||||
{
|
||||
free_tree_node(tree->allocator, tree->root, free_keys, free_values);
|
||||
wmem_unregister_callback(tree->master, tree->master_cb_id);
|
||||
wmem_unregister_callback(tree->allocator, tree->slave_cb_id);
|
||||
if (tree->master) {
|
||||
wmem_unregister_callback(tree->master, tree->master_cb_id);
|
||||
}
|
||||
if (tree->allocator) {
|
||||
wmem_unregister_callback(tree->allocator, tree->slave_cb_id);
|
||||
}
|
||||
wmem_free(tree->master, tree);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue