summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.h
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2012-05-27 17:14:20 +0200
committerNikita Popov <nikic@php.net>2012-05-27 17:14:20 +0200
commit64a643a4e3c1b45d3a9b2ad24537f7aab6296f7d (patch)
tree38b7ea0bbc36c7dfd6d9b27831c6a6ed92bbf7a7 /Zend/zend_generators.h
parent247bb737d552508829c5de7770ed0b15c3d8f7fd (diff)
downloadphp-git-64a643a4e3c1b45d3a9b2ad24537f7aab6296f7d.tar.gz
Free loop variables
If the generator is closed before it has finished running, it may happen that some FREE or SWITCH_FREE opcodes haven't been executed and memory is leaked. This fixes it by walking the brk_cont_array and manually freeing the variables.
Diffstat (limited to 'Zend/zend_generators.h')
-rw-r--r--Zend/zend_generators.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_generators.h b/Zend/zend_generators.h
index 4becddf17c..192e9e75c9 100644
--- a/Zend/zend_generators.h
+++ b/Zend/zend_generators.h
@@ -35,7 +35,7 @@ typedef struct _zend_generator {
extern ZEND_API zend_class_entry *zend_ce_generator;
void zend_register_generator_ce(TSRMLS_D);
-void zend_generator_close(zend_generator *generator TSRMLS_DC);
+void zend_generator_close(zend_generator *generator, zend_bool finished_execution TSRMLS_DC);
END_EXTERN_C()