com php-src: Fixed destruction of circular garbage: Zend/zend_gc.c
| From: | Dmitry Stogov | Date: | Thu, 22 Jan 2015 11:24:27 +0000 |
| Subject: | com php-src: Fixed destruction of circular garbage: Zend/zend_gc.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-84313@lists.php.net to get a copy of this message | ||
Commit: e21fefde381cdd64dc93116440f3ee159c721fa1
Author: Dmitry Stogov <dmitry@zend.com> Thu, 22 Jan 2015 14:24:27 +0300
Parents: ccffa2aad1706580cf138496d079f5c3b4b4f248
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=e21fefde381cdd64dc93116440f3ee159c721fa1
Log:
Fixed destruction of circular garbage
Changed paths:
M Zend/zend_gc.c
Diff:
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index 2c3ea15..da54754 100644
--- a/Zend/zend_gc.c
+++ b/Zend/zend_gc.c
@@ -137,6 +137,11 @@ ZEND_API void gc_init(void)
ZEND_API void gc_possible_root(zend_refcounted *ref)
{
+ if (GC_TYPE(ref) == IS_NULL) {
+ return;
+ }
+
+ ZEND_ASSERT(GC_TYPE(ref) == IS_ARRAY || GC_TYPE(ref) == IS_OBJECT);
GC_BENCH_INC(zval_possible_root);
if (EXPECTED(GC_GET_COLOR(GC_INFO(ref)) == GC_BLACK)) {