From: Edwin Rodriguez Date: Thu, 7 Aug 2025 16:06:20 +0000 (-0400) Subject: btree: Safeguard delete_leaf_node to prevent dereferencing null nodes X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2299dc04c2863d42283c9881cdcd930ac2b61e00;p=ceph.git btree: Safeguard delete_leaf_node to prevent dereferencing null nodes Check if node is the EmptyNode() before trying to delete it Fixes: https://tracker.ceph.com/issues/72446 Signed-off-by: Edwin Rodriguez --- diff --git a/src/include/cpp-btree/btree.h b/src/include/cpp-btree/btree.h index 2eddc2abe80c..c6ad250ba197 100644 --- a/src/include/cpp-btree/btree.h +++ b/src/include/cpp-btree/btree.h @@ -1326,8 +1326,10 @@ class btree { deallocate(node_type::InternalSize(), node); } void delete_leaf_node(node_type *node) { - node->destroy(mutable_allocator()); - deallocate(node_type::LeafSize(node->max_count()), node); + if (node != EmptyNode()) { + node->destroy(mutable_allocator()); + deallocate(node_type::LeafSize(node->max_count()), node); + } } // Rebalances or splits the node iter points to.