diff --git a/legacy/eina/ChangeLog b/legacy/eina/ChangeLog index 354500d1d3..e6b59b7d19 100644 --- a/legacy/eina/ChangeLog +++ b/legacy/eina/ChangeLog @@ -241,3 +241,7 @@ 2012-03-16 Raphael Kubo da Costa * Adjust Valgrind's CFLAGS to fix the build when it is in a non-default location. + +2012-03-29 Iván Briano + + * Avoid freeing old data before returning it on eina_hash_set(). diff --git a/legacy/eina/src/lib/eina_hash.c b/legacy/eina/src/lib/eina_hash.c index 51968945d1..afdc114ff9 100644 --- a/legacy/eina/src/lib/eina_hash.c +++ b/legacy/eina/src/lib/eina_hash.c @@ -1136,7 +1136,10 @@ eina_hash_set(Eina_Hash *hash, const void *key, const void *data) } else { + Eina_Free_Cb cb = hash->data_free_cb; + hash->data_free_cb = NULL; _eina_hash_del_by_hash_el(hash, hash_element, hash_head, key_hash); + hash->data_free_cb = cb; } return old_data;