summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysys/mf_keycaches.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mysys/mf_keycaches.c b/mysys/mf_keycaches.c
index fee3096de52..38fef31fdd4 100644
--- a/mysys/mf_keycaches.c
+++ b/mysys/mf_keycaches.c
@@ -275,7 +275,11 @@ static void safe_hash_change(SAFE_HASH *hash, byte *old_data, byte *new_data)
if (entry->data == old_data)
{
if (new_data == hash->default_value)
+ {
+ if ((*entry->prev= entry->next))
+ entry->next->prev= entry->prev;
hash_delete(&hash->hash, (byte*) entry);
+ }
else
entry->data= new_data;
}