diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-09-05 11:34:38 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-09-05 11:34:38 +0100 |
commit | 8007027f847977cd37a22ba0bff39f672dac8c27 (patch) | |
tree | 5c8b0703aa9f04fd9950b7f6cd3688fee780dff9 /desktop/treeview.c | |
parent | e94528518d35f2a0d066b4eb27783d49e38d10ff (diff) | |
download | netsurf-8007027f847977cd37a22ba0bff39f672dac8c27.tar.gz netsurf-8007027f847977cd37a22ba0bff39f672dac8c27.tar.bz2 |
Express logic so that the static analyser can understand and not report NULL deref.
Diffstat (limited to 'desktop/treeview.c')
-rw-r--r-- | desktop/treeview.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index 50fa3d26e..d4bcc8f82 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -1090,7 +1090,6 @@ static nserror treeview_delete_node_internal(treeview *tree, treeview_node *n, static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction) { treeview_node *node, *child, *parent, *next_sibling, *p; - treeview_node *root = tree->root; bool abort = false; nserror err; struct treeview_node_delete nd = { @@ -1099,7 +1098,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction) .user_interaction = interaction }; - node = root; + node = tree->root; parent = node->parent; next_sibling = node->next_sib; child = (node->flags & TREE_NODE_EXPANDED) ? node->children : NULL; @@ -1114,7 +1113,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction) * go to next sibling if present, or nearest ancestor * with a next sibling. */ - while (node != root && + while (node->parent != NULL && next_sibling == NULL) { if (node->type == TREE_NODE_FOLDER && node->children == NULL) { @@ -1140,7 +1139,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction) next_sibling = node->next_sib; } - if (node == root) + if (node->parent == NULL) break; if (node->type == TREE_NODE_FOLDER && @@ -1165,7 +1164,7 @@ static nserror treeview_delete_empty_nodes(treeview *tree, bool interaction) } assert(node != NULL); - assert(node != root); + assert(node->parent != NULL); parent = node->parent; next_sibling = node->next_sib; |