From 5031528ec7e54c9ec0c51a118a56a7201a8e3ee6 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 19 Mar 2008 11:46:10 +0000 Subject: [PATCH] Disabled $GLOBALS' refcount modification --- Zend/zend_gc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 659ec55ec6..0acff1c052 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -305,7 +305,9 @@ static void zval_scan_black(zval *pz TSRMLS_DC) static int children_scan_black(zval **pz TSRMLS_DC) { - (*pz)->refcount__gc++; + if (Z_TYPE_PP(pz) != IS_ARRAY || Z_ARRVAL_PP(pz) != &EG(symbol_table)) { + (*pz)->refcount__gc++; + } if (GC_ZVAL_GET_COLOR(*pz) != GC_BLACK) { zval_scan_black(*pz TSRMLS_CC); @@ -349,7 +351,9 @@ static void zval_mark_grey(zval *pz TSRMLS_DC) static int children_mark_grey(zval **pz TSRMLS_DC) { - (*pz)->refcount__gc--; + if (Z_TYPE_PP(pz) != IS_ARRAY || Z_ARRVAL_PP(pz) != &EG(symbol_table)) { + (*pz)->refcount__gc--; + } zval_mark_grey(*pz TSRMLS_CC); return 0; } -- 2.50.1