diff options
| author | Bob Weinand <bobwei9@hotmail.com> | 2015-05-14 17:17:39 +0200 |
|---|---|---|
| committer | Bob Weinand <bobwei9@hotmail.com> | 2015-05-14 17:17:39 +0200 |
| commit | c6a6b9746de0411fb2b352d8d4dfc432cb56eb91 (patch) | |
| tree | 65e62efd38e15963677d8ccd89d8bed5e766d24b /Zend/zend_generators.c | |
| parent | fc75d07652717a374e01aa557b165af3fc9606b6 (diff) | |
| download | php-git-c6a6b9746de0411fb2b352d8d4dfc432cb56eb91.tar.gz | |
Fix memleak in generators using symtable
Diffstat (limited to 'Zend/zend_generators.c')
| -rw-r--r-- | Zend/zend_generators.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index e845b2e5f2..706d913f72 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -104,11 +104,11 @@ ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished if (generator->execute_data) { zend_execute_data *execute_data = generator->execute_data; - if (!execute_data->symbol_table) { - zend_free_compiled_variables(execute_data); - } else { + if (execute_data->symbol_table) { zend_clean_and_cache_symbol_table(execute_data->symbol_table); } + /* always free the CV's, in the symtable are only not-free'd IS_INDIRECT's */ + zend_free_compiled_variables(execute_data); if (Z_OBJ(execute_data->This)) { OBJ_RELEASE(Z_OBJ(execute_data->This)); |
