diff options
author | Nikita Popov <nikic@php.net> | 2012-05-27 17:14:20 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2012-05-27 17:14:20 +0200 |
commit | 64a643a4e3c1b45d3a9b2ad24537f7aab6296f7d (patch) | |
tree | 38b7ea0bbc36c7dfd6d9b27831c6a6ed92bbf7a7 /Zend/zend_generators.h | |
parent | 247bb737d552508829c5de7770ed0b15c3d8f7fd (diff) | |
download | php-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.h | 2 |
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() |