summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2013-09-05 11:34:38 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2013-09-05 11:34:38 +0100
commit8007027f847977cd37a22ba0bff39f672dac8c27 (patch)
tree5c8b0703aa9f04fd9950b7f6cd3688fee780dff9 /desktop
parente94528518d35f2a0d066b4eb27783d49e38d10ff (diff)
downloadnetsurf-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')
-rw-r--r--desktop/treeview.c9
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;