From 7aff166e5703d53a0d82d267f5401ace31d1a828 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 3 Feb 2017 17:38:03 +0300 Subject: [PATCH] Arguments array can't make cycles --- Zend/tests/bug70805.phpt | 2 +- Zend/tests/bug70805_1.phpt | 2 +- Zend/tests/bug70805_2.phpt | 2 +- main/php_variables.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Zend/tests/bug70805.phpt b/Zend/tests/bug70805.phpt index 256f52eed5..ec835bcd1b 100644 --- a/Zend/tests/bug70805.phpt +++ b/Zend/tests/bug70805.phpt @@ -27,7 +27,7 @@ $c = new A; $array = array($c); //This is used to leave a room for $GLOBALS["a"] unset($c); -while ($i++ < 9997) { +while ($i++ < 9998) { $t = []; $t[] = &$t; unset($t); diff --git a/Zend/tests/bug70805_1.phpt b/Zend/tests/bug70805_1.phpt index af57cdb5d9..51595668a1 100644 --- a/Zend/tests/bug70805_1.phpt +++ b/Zend/tests/bug70805_1.phpt @@ -29,7 +29,7 @@ $c = new A; $array = array($c); unset($c); -while ($i++ < 9997) { +while ($i++ < 9998) { $t = []; $t[] = &$t; unset($t); diff --git a/Zend/tests/bug70805_2.phpt b/Zend/tests/bug70805_2.phpt index c878c83bbc..a4d01aa626 100644 --- a/Zend/tests/bug70805_2.phpt +++ b/Zend/tests/bug70805_2.phpt @@ -24,7 +24,7 @@ $a->b->a = $a; $i = 0; -while ($i++ < 9998) { +while ($i++ < 9999) { $t = []; $t[] = &$t; unset($t); diff --git a/main/php_variables.c b/main/php_variables.c index c1fb36d6ad..7dd5298af9 100644 --- a/main/php_variables.c +++ b/main/php_variables.c @@ -610,7 +610,7 @@ PHPAPI void php_build_argv(char *s, zval *track_vars_array) zend_hash_str_update(Z_ARRVAL_P(track_vars_array), "argv", sizeof("argv")-1, &arr); zend_hash_str_update(Z_ARRVAL_P(track_vars_array), "argc", sizeof("argc")-1, &argc); } - zval_ptr_dtor(&arr); + zval_ptr_dtor_nogc(&arr); } /* }}} */ -- 2.40.0