summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-01-22 14:24:27 +0300
committerDmitry Stogov <dmitry@zend.com>2015-01-22 14:24:27 +0300
commite21fefde381cdd64dc93116440f3ee159c721fa1 (patch)
tree2fc4ae20dc279e2d74a2adc7e4857eb0b0331e21
parentccffa2aad1706580cf138496d079f5c3b4b4f248 (diff)
downloadphp-git-e21fefde381cdd64dc93116440f3ee159c721fa1.tar.gz
Fixed destruction of circular garbage
-rw-r--r--Zend/zend_gc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c
index 2c3ea15320..da547543e3 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)) {