diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-04-11 02:22:00 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-11 02:22:00 +0400 |
commit | 91ed685e26e0f2e6501ac3c7b49199080bfc47f0 (patch) | |
tree | 669fb415221836321738e62c58d74f5984f4d4c0 | |
parent | 98350cdceaca6eb16c32903e07486568f54b380d (diff) | |
download | php-git-91ed685e26e0f2e6501ac3c7b49199080bfc47f0.tar.gz |
Close all files and resources before before destroying object storage, because resources may point to objects. (THIS CHANGE MAY BE DANGEROUS)
-rw-r--r-- | Zend/zend_compile.c | 1 | ||||
-rw-r--r-- | Zend/zend_execute_API.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 50aff60f1a..fa50a731c4 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -251,7 +251,6 @@ void shutdown_compiler(TSRMLS_D) /* {{{ */ zend_stack_destroy(&CG(declare_stack)); zend_stack_destroy(&CG(list_stack)); zend_hash_destroy(&CG(filenames_table)); - zend_llist_destroy(&CG(open_files)); zend_hash_destroy(&CG(const_filenames)); zend_stack_destroy(&CG(context_stack)); } diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index cf321398f8..2ae2bff70e 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -313,6 +313,14 @@ void shutdown_executor(TSRMLS_D) /* {{{ */ } zend_end_try(); zend_try { + zend_llist_destroy(&CG(open_files)); + } zend_end_try(); + + zend_try { + zend_close_rsrc_list(&EG(regular_list) TSRMLS_CC); + } zend_end_try(); + + zend_try { zend_objects_store_free_object_storage(&EG(objects_store) TSRMLS_CC); zend_vm_stack_destroy(TSRMLS_C); |