diff options
author | serg@serg.mylan <> | 2005-01-24 18:38:46 +0100 |
---|---|---|
committer | serg@serg.mylan <> | 2005-01-24 18:38:46 +0100 |
commit | 1ca9d6497b7c3c276387470fce52e6b1cadc4f67 (patch) | |
tree | c99802bffaa382d36029fb06f8af45713ab9b52f /mysys/mf_keycaches.c | |
parent | 79240013b2720022fbd82c895b0ebae50330fdac (diff) | |
download | mariadb-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.c | 4 |
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; } |