summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2014-09-02 12:32:18 -0700
committerStanislav Malyshev <stas@php.net>2014-09-02 12:32:40 -0700
commit63f42adbb2a3bb3e70e093490bd618159c9af5b3 (patch)
tree697833dc439d283d4d4bde739d244b9347b638ce
parent834daa455bc9c8cde178c6978dcb548119b038e8 (diff)
parentaf85eff5b6c77681e7e4f9440fa35dbe5c1529ae (diff)
downloadphp-git-63f42adbb2a3bb3e70e093490bd618159c9af5b3.tar.gz
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: Fix bug #67644 - Memory corruption & crash during ob_start function callback
-rw-r--r--NEWS3
-rw-r--r--main/main.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index f78969c233..27ab1b8899 100644
--- a/NEWS
+++ b/NEWS
@@ -7,11 +7,12 @@ PHP NEWS
. Implemented FR #38409 (parse_ini_file() looses the type of booleans). (Tjerk)
. 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)
. Fixed bug #67938 (Segfault when extending interface method with variadic).
(Nikita)
-
- Fileinfo:
. Fixed bug #67731 (finfo::file() returns invalid mime type
for binary files). (Anatol)
diff --git a/main/main.c b/main/main.c
index 60f5a16c4b..4adc5e96b2 100644
--- a/main/main.c
+++ b/main/main.c
@@ -1843,6 +1843,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);