cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a2084ba22eb78c98ae3da416f32c88dc275f4808

commit a2084ba22eb78c98ae3da416f32c88dc275f4808
Author: Woochanlee <[email protected]>
Date:   Thu Dec 19 09:43:36 2019 +0000

    eina_hash: Move hash_free_cb to avoid memory leak.
    
    Call hash_free_cb after finish deletion.
    
    ref T8530
    
    Reviewed-by: Cedric BAIL <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D10918
---
 src/lib/eina/eina_hash.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_hash.c b/src/lib/eina/eina_hash.c
index 64d298b513..d313e57d60 100644
--- a/src/lib/eina/eina_hash.c
+++ b/src/lib/eina/eina_hash.c
@@ -410,7 +410,6 @@ _eina_hash_del_by_hash_el(Eina_Hash *hash,
                                                  hash_element), 
EINA_RBTREE_CMP_NODE_CB(
                                                  
_eina_hash_key_rbtree_cmp_node),
                                                (const void *)hash->key_cmp_cb);
-   _eina_hash_el_free(hash_element, hash);
 
    if (!hash_head->head)
      {
@@ -431,6 +430,8 @@ _eina_hash_del_by_hash_el(Eina_Hash *hash,
         hash->buckets = NULL;
      }
 
+   _eina_hash_el_free(hash_element, hash);
+
    return EINA_TRUE;
 }
 

-- 


Reply via email to