com php-src: Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference): NEWS Zend/tests/b ug73916.phpt Zend/zend.c

From: Date: Fri, 13 Jan 2017 05:04:37 +0000
Subject: com php-src: Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference): NEWS Zend/tests/b ug73916.phpt Zend/zend.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-96708@lists.php.net to get a copy of this message
Commit: 04379bcb1df25a9f9cc1d440f5c12105b9fbaf97 Author: Xinchen Hui <laruence@gmail.com> Fri, 13 Jan 2017 13:04:37 +0800 Parents: bd75f9e61375c7632bb55b0d49b470ecd94e8ec7 Branches: PHP-7.0 PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=04379bcb1df25a9f9cc1d440f5c12105b9fbaf97 Log: Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference) Bugs: https://bugs.php.net/73916 Changed paths: M NEWS A Zend/tests/bug73916.phpt M Zend/zend.c Diff: diff --git a/NEWS b/NEWS index efbee5e..2778842 100644 --- a/NEWS +++ b/NEWS @@ -3,8 +3,10 @@ PHP NEWS ?? ??? 2017 PHP 7.0.16 - Core: + . Fixed bug #73916 (zend_print_flat_zval_r doesn't consider reference). + (Laruence) . Fixed bug #73876 (Crash when exporting **= in expansion of assign op). - (Sara) + (Sara) - FPM: . Fixed bug #67583 (double fastcgi_end_request on max_children limit). diff --git a/Zend/tests/bug73916.phpt b/Zend/tests/bug73916.phpt new file mode 100644 index 0000000..ba2567e --- /dev/null +++ b/Zend/tests/bug73916.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #73916 (zend_print_flat_zval_r doesn't consider reference) +--FILE-- +<?php +$a = array('a'); +class b{}; +$b = new b; +$test[] =& $a; +$test[] =& $b; +test($test); +function test() { + debug_print_backtrace(); +} +?> +--EXPECTF-- +#0 test(Array ([0] => Array ([0] => a),[1] => b Object ())) called at [%sbug73916.php:%d] diff --git a/Zend/zend.c b/Zend/zend.c index 3f3ca75..2a47e92 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -312,6 +312,9 @@ ZEND_API void zend_print_flat_zval_r(zval *expr) /* {{{ */ ZEND_PUTS(")"); break; } + case IS_REFERENCE: + zend_print_flat_zval_r(Z_REFVAL_P(expr)); + break; default: zend_print_variable(expr); break;

« previous php.cvs (#96708) next »