diff options
author | Stanislav Malyshev <stas@php.net> | 2014-09-02 12:31:29 -0700 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2014-09-02 12:32:03 -0700 |
commit | af85eff5b6c77681e7e4f9440fa35dbe5c1529ae (patch) | |
tree | 90ede2c8bc7189f94d25bf9a02ee884659faec11 | |
parent | 4b9fcc01d4cd17d3933c8f9c76fb37359117ce2e (diff) | |
parent | 53fa6c5b6b5b09059ba54c8912d0c0aef57aa4ff (diff) | |
download | php-git-af85eff5b6c77681e7e4f9440fa35dbe5c1529ae.tar.gz |
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
Fix bug #67644 - Memory corruption & crash during ob_start function callback
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | main/main.c | 6 |
2 files changed, 8 insertions, 0 deletions
@@ -6,6 +6,8 @@ PHP NEWS . Fixed bug #47358 (glob returns error, should be empty array()). (Pierre) . Fixed bug #65463 (SIGSEGV during zend_shutdown()). (Keyur Govande) . Fixed bug #66036 (Crash on SIGTERM in apache process). (Keyur Govande) + . Fixed bug #67644 (Memory corruption & crash during ob_start function + callback). (Stas) . Fixed bug #67878 (program_prefix not honoured in man pages). (Remi) - COM: diff --git a/main/main.c b/main/main.c index 66e4b6e93f..3eaecf0fe4 100644 --- a/main/main.c +++ b/main/main.c @@ -1767,6 +1767,12 @@ void php_request_shutdown(void *dummy) } } zend_end_try(); + /* Output buffer handlers may have created new objects. Mark these objects + as destructed to avoid calling their dtors too late on shutdown when + all dtors were supposed to be cleaned + */ + zend_objects_store_mark_destructed(&EG(objects_store) TSRMLS_CC); + /* 4. Reset max_execution_time (no longer executing php code after response sent) */ zend_try { zend_unset_timeout(TSRMLS_C); |