aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dfilter
diff options
context:
space:
mode:
authorJaap Keuter <jaap.keuter@xs4all.nl>2008-10-15 20:02:15 +0000
committerJaap Keuter <jaap.keuter@xs4all.nl>2008-10-15 20:02:15 +0000
commit0fde67dd54131faf1ee8e6f0d6928f852af4b913 (patch)
tree8212bd220de617477e68098393e4dffc5f978a08 /epan/dfilter
parent369f9243cef07330b1fad187afd6a4d349267eda (diff)
From Andrew Narver:
Currently, if you call proto_tree_free on anything other than the root node of a tree the tree will get left in an inconsistent state. This is because the parent is left pointing to the newly freed child. The traversal code is updated, the parent node update is currently disabled since freeing is done for the complete tree only at this time, so there is no need to keep the parent node consistent. svn path=/trunk/; revision=26466
Diffstat (limited to 'epan/dfilter')
-rw-r--r--epan/dfilter/dfilter-macro.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dfilter/dfilter-macro.c b/epan/dfilter/dfilter-macro.c
index 832190131e..319754c187 100644
--- a/epan/dfilter/dfilter-macro.c
+++ b/epan/dfilter/dfilter-macro.c
@@ -93,7 +93,7 @@ static gboolean fvt_cache_cb(proto_node * node, gpointer data _U_) {
void dfilter_macro_build_ftv_cache(void* tree_root) {
g_hash_table_foreach_remove(fvt_cache,free_value,NULL);
- proto_tree_traverse_in_order(tree_root, fvt_cache_cb, NULL);
+ proto_tree_traverse_post_order(tree_root, fvt_cache_cb, NULL);
}
void dfilter_macro_foreach(dfilter_macro_cb_t cb, void* data) {