]> granicus.if.org Git - php/commitdiff
Iterator has to be properly closed
authorDmitry Stogov <dmitry@zend.com>
Thu, 20 Mar 2014 19:05:38 +0000 (23:05 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 20 Mar 2014 19:05:38 +0000 (23:05 +0400)
Zend/zend_generators.c

index 47a0797cf975d69cf4b9ad32aaa549b40e6464d7..49385015e8bf1238d5eee762a39571deca54c57b 100644 (file)
@@ -208,6 +208,10 @@ static void zend_generator_free_storage(zend_object *object TSRMLS_DC) /* {{{ */
 
        zend_object_std_dtor(&generator->std TSRMLS_CC);
 
+       if (generator->iterator.std.handle) {
+               zend_iterator_dtor(&generator->iterator TSRMLS_CC);
+       }
+
        GC_REMOVE_FROM_BUFFER(generator);
        efree(generator);
 }