X-Git-Url: https://git.librecmc.org/?p=oweals%2Ftinc.git;a=blobdiff_plain;f=src%2Favl_tree.c;h=4b237560423f379b72507960eed1bb7ccef50628;hp=a8bf5d5f733c99863c31cdcd9e19bdf86a0c8fca;hb=e913f3f232e4809b7218d081ab9f94cef1c94ac3;hpb=8d64561dbc0542e7e1185591b8ecde3e56e1bfca diff --git a/src/avl_tree.c b/src/avl_tree.c index a8bf5d5..4b23756 100644 --- a/src/avl_tree.c +++ b/src/avl_tree.c @@ -228,8 +228,7 @@ static void avl_rebalance(avl_tree_t *tree, avl_node_t *node) gchild->left->parent = gchild; gchild->right = child; - if(gchild->right) - gchild->right->parent = gchild; + gchild->right->parent = gchild; *superparent = gchild; gchild->parent = parent; @@ -600,6 +599,8 @@ void avl_unlink_node(avl_tree_t *tree, avl_node_t *node) balnode = parent; } else { subst = node->prev; + if(!subst) // This only happens if node is not actually in a tree at all. + abort(); if(subst == left) { balnode = subst;