summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2020-09-13 07:34:00 -0700
committerDave Beckett <dave@dajobe.org>2020-09-13 07:37:44 -0700
commit03f5abe7fa5f013a6095321c5f4ad97021f801d2 (patch)
treeead46d2ba94af1c209b67ce3aee04e6ef8fa2e77
parent7be3b6e2668cb1a90b71c89c313b58897c01b3d2 (diff)
downloadraptor-03f5abe7fa5f013a6095321c5f4ad97021f801d2.tar.gz
(raptor_avltree_delete_internal): Handle deleting empty tree.
Fixes invalid pointer reference reported by Li Qiang via email.
-rw-r--r--src/raptor_avltree.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/raptor_avltree.c b/src/raptor_avltree.c
index 5059eaaf..4001a92b 100644
--- a/src/raptor_avltree.c
+++ b/src/raptor_avltree.c
@@ -779,7 +779,10 @@ raptor_avltree_delete_internal(raptor_avltree* tree,
return rdata;
}
- cmp = tree->compare_handler((*node_pp)->data, p_data);
+ if(p_data)
+ cmp = tree->compare_handler((*node_pp)->data, p_data);
+ else
+ cmp = 0;
if(cmp > 0) {
RAPTOR_AVLTREE_DEBUG1("too high - scan left\n");