diff options
author | Yeongjong Lee <yj34.lee@samsung.com> | 2020-02-14 18:17:25 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2020-02-14 18:18:20 +0900 |
commit | fff6ce7f2eff52a9d97db2280124278cf08516a8 (patch) | |
tree | e06e45c15da840e00ae340d777f6a823f4461570 | |
parent | 9768a5ad982dc3d6e230fa071013c45231feeca4 (diff) | |
download | efl-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.c | 10 |
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); |