summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2005-01-24 18:38:46 +0100
committerunknown <serg@serg.mylan>2005-01-24 18:38:46 +0100
commit7109999b92ec8541a61ca5babc5b06f4315478a8 (patch)
treec99802bffaa382d36029fb06f8af45713ab9b52f /mysys
parentba3b78d968c56806d8606e47bc4555a8436004c6 (diff)
downloadmariadb-git-7109999b92ec8541a61ca5babc5b06f4315478a8.tar.gz
remove the entry from the list, before freeing
Diffstat (limited to 'mysys')
-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;
}