hermet pushed a commit to branch master.

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

commit fff6ce7f2eff52a9d97db2280124278cf08516a8
Author: Yeongjong Lee <yj34....@samsung.com>
Date:   Fri Feb 14 18:17:25 2020 +0900

    eina_rbtree: avoid defererencing null pointer
    
    Summary: Pointer 'it->stack' is dereferenced at 
`_eina_rbtree_iterator_free`.
    
    Reviewers: Hermet, zmike
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11346
---
 src/lib/eina/eina_rbtree.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/lib/eina/eina_rbtree.c b/src/lib/eina/eina_rbtree.c
index b7373c7fbe..24d5b99a00 100644
--- a/src/lib/eina/eina_rbtree.c
+++ b/src/lib/eina/eina_rbtree.c
@@ -228,10 +228,14 @@ _eina_rbtree_iterator_build(const Eina_Rbtree *root, 
unsigned char mask)
         it = calloc(1, sizeof (Eina_Iterator_Rbtree));
         if (!it) return NULL;
 
-       eina_trash_init(&it->trash);
+        eina_trash_init(&it->trash);
 
-       it->stack = eina_array_new(8);
-       if (!it->stack) goto on_error;
+        it->stack = eina_array_new(8);
+        if (!it->stack)
+          {
+             free(it);
+             return NULL;
+          }
      }
 
    first = _eina_rbtree_iterator_list_new(it, root);

-- 


Reply via email to