diff options
author | rse <rse@FreeBSD.org> | 2007-02-04 20:04:29 +0000 |
---|---|---|
committer | rse <rse@FreeBSD.org> | 2007-02-04 20:04:29 +0000 |
commit | 768e33c7bc0c28bbd9e18d7c4082166cda295af0 (patch) | |
tree | 7b838597de9dcf15b4ad3adb5dd9d58f69a8185a /usr.bin/ctags | |
parent | 5971b391cca4402ceb2988efdbab78702b5a706f (diff) | |
download | FreeBSD-src-768e33c7bc0c28bbd9e18d7c4082166cda295af0.zip FreeBSD-src-768e33c7bc0c28bbd9e18d7c4082166cda295af0.tar.gz |
fix bug: avoid dereferencing content of an already free(3)'ed chunk
Diffstat (limited to 'usr.bin/ctags')
-rw-r--r-- | usr.bin/ctags/tree.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.bin/ctags/tree.c b/usr.bin/ctags/tree.c index 6c42f32..bd65c5a 100644 --- a/usr.bin/ctags/tree.c +++ b/usr.bin/ctags/tree.c @@ -126,10 +126,12 @@ add_node(NODE *node, NODE *cur_node) static void free_tree(NODE *node) { + NODE *node_next; while (node) { if (node->right) free_tree(node->right); + node_next = node->left; free(node); - node = node->left; + node = node_next; } } |