summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeongjong Lee <yj34.lee@samsung.com>2020-02-14 18:17:25 +0900
committerHermet Park <hermetpark@gmail.com>2020-02-14 18:18:20 +0900
commitfff6ce7f2eff52a9d97db2280124278cf08516a8 (patch)
treee06e45c15da840e00ae340d777f6a823f4461570
parent9768a5ad982dc3d6e230fa071013c45231feeca4 (diff)
downloadefl-fff6ce7f2eff52a9d97db2280124278cf08516a8.tar.gz
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
-rw-r--r--src/lib/eina/eina_rbtree.c10
1 files 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);