fix a logic error leading to segfaults on updates
authorFelix Fietkau <nbd@openwrt.org>
Mon, 24 Oct 2011 18:46:07 +0000 (20:46 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Mon, 24 Oct 2011 18:46:07 +0000 (20:46 +0200)
utils.c

diff --git a/utils.c b/utils.c
index 5219546..ba31b64 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -39,7 +39,7 @@ vlist_add(struct vlist_tree *tree, struct vlist_node *node)
        anode = avl_find(&tree->avl, key);
        if (anode) {
                old_node = container_of(anode, struct vlist_node, avl);
        anode = avl_find(&tree->avl, key);
        if (anode) {
                old_node = container_of(anode, struct vlist_node, avl);
-               if (tree->keep_old || !tree->no_delete)
+               if (tree->keep_old || tree->no_delete)
                        goto update_only;
 
                avl_delete(&tree->avl, anode);
                        goto update_only;
 
                avl_delete(&tree->avl, anode);