diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 976b9bd02a1b..5c2f9d8f2c3e 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -714,8 +714,10 @@ int radix_tree_insert(struct radix_tree_root *root, unsigned long index, return error; error = insert_entries(node, slot, item); - if (error < 0) + if (error < 0) { + __radix_tree_delete(root, node, slot); return error; + } if (node) { unsigned offset = get_slot_offset(node, slot);