summaryrefslogtreecommitdiffstats
path: root/usr.bin/ctags
diff options
context:
space:
mode:
authorrse <rse@FreeBSD.org>2007-02-04 20:04:29 +0000
committerrse <rse@FreeBSD.org>2007-02-04 20:04:29 +0000
commit768e33c7bc0c28bbd9e18d7c4082166cda295af0 (patch)
tree7b838597de9dcf15b4ad3adb5dd9d58f69a8185a /usr.bin/ctags
parent5971b391cca4402ceb2988efdbab78702b5a706f (diff)
downloadFreeBSD-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.c4
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;
}
}
OpenPOWER on IntegriCloud