From 48deb1cd9427c725790b074e05ccf1c9962e9dc9 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 11 Mar 2015 00:57:28 +0300 Subject: [PATCH] Free memory if destructor wasn't called --- ext/spl/spl_iterators.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index 21b3c8c905..f0ce313eb6 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -931,6 +931,11 @@ static void spl_RecursiveIteratorIterator_free_storage(zend_object *_object) { spl_recursive_it_object *object = spl_recursive_it_from_obj(_object); + if (object->iterators) { + efree(object->iterators); + object->iterators = NULL; + } + zend_object_std_dtor(&object->std); smart_str_free(&object->prefix[0]); smart_str_free(&object->prefix[1]); -- 2.50.1