summaryrefslogtreecommitdiff
path: root/mysys/mf_keycaches.c
diff options
context:
space:
mode:
authorserg@serg.mylan <>2005-01-24 18:38:46 +0100
committerserg@serg.mylan <>2005-01-24 18:38:46 +0100
commit1ca9d6497b7c3c276387470fce52e6b1cadc4f67 (patch)
treec99802bffaa382d36029fb06f8af45713ab9b52f /mysys/mf_keycaches.c
parent79240013b2720022fbd82c895b0ebae50330fdac (diff)
downloadmariadb-git-1ca9d6497b7c3c276387470fce52e6b1cadc4f67.tar.gz
remove the entry from the list, before freeing
Diffstat (limited to 'mysys/mf_keycaches.c')
-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;
}