diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/assoc_array.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/assoc_array.c b/lib/assoc_array.c index 03dd576e6773..59fd7c0b119c 100644 --- a/lib/assoc_array.c +++ b/lib/assoc_array.c | |||
@@ -524,7 +524,9 @@ static bool assoc_array_insert_into_terminal_node(struct assoc_array_edit *edit, | |||
524 | free_slot = i; | 524 | free_slot = i; |
525 | continue; | 525 | continue; |
526 | } | 526 | } |
527 | if (ops->compare_object(assoc_array_ptr_to_leaf(ptr), index_key)) { | 527 | if (assoc_array_ptr_is_leaf(ptr) && |
528 | ops->compare_object(assoc_array_ptr_to_leaf(ptr), | ||
529 | index_key)) { | ||
528 | pr_devel("replace in slot %d\n", i); | 530 | pr_devel("replace in slot %d\n", i); |
529 | edit->leaf_p = &node->slots[i]; | 531 | edit->leaf_p = &node->slots[i]; |
530 | edit->dead_leaf = node->slots[i]; | 532 | edit->dead_leaf = node->slots[i]; |