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: | Xinchen Hui | 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;