com php-src: Fix bug #67644 - Memory corruption & crash during ob_start function callback: NEWS main/main.c
| From: | Stanislav Malyshev | Date: | Tue, 02 Sep 2014 19:31:03 +0000 |
| Subject: | com php-src: Fix bug #67644 - Memory corruption & crash during ob_start function callback: NEWS main/main.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-81380@lists.php.net to get a copy of this message | ||
Commit: 53fa6c5b6b5b09059ba54c8912d0c0aef57aa4ff
Author: Stanislav Malyshev <stas@php.net> Sat, 30 Aug 2014 18:32:12 -0700
Parents: 30aceaf1a7cf9ef6f32806463212323c6ab89f09
Branches: PHP-5.4 PHP-5.5 PHP-5.6 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=53fa6c5b6b5b09059ba54c8912d0c0aef57aa4ff
Log:
Fix bug #67644 - Memory corruption & crash during ob_start function callback
Bugs:
https://bugs.php.net/67644
Changed paths:
M NEWS
M main/main.c
Diff:
diff --git a/NEWS b/NEWS
index a20f11a..ff6cde2 100644
--- a/NEWS
+++ b/NEWS
@@ -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)
- OpenSSL:
. Fixed bug #41631 (socket timeouts not honored in blocking SSL reads).
diff --git a/main/main.c b/main/main.c
index 8546500..e0b0916 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);