com php-src: Added tests and NEWS entry Fixed bug #72598 (Reference is lost after array_slice()): NEWS Zend/tests/bug72 598.phpt
Zend/tests/bug72598_2.phpt

From: Date: Tue, 23 Aug 2016 09:14:31 +0000
Subject: com php-src: Added tests and NEWS entry Fixed bug #72598 (Reference is lost after array_slice()): NEWS Zend/tests/bug72 598.phpt
Zend/tests/bug72598_2.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-94049@lists.php.net to get a copy of this message
Commit: 62ab40bc9642798a9af0435ef3284a4f5d9bf6d4 Author: Dmitry Stogov <dmitry@zend.com> Tue, 23 Aug 2016 12:14:31 +0300 Parents: 0cc8ff2b41d2d22bce59d394e2ab268c4c9c0086 Branches: PHP-7.1 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=62ab40bc9642798a9af0435ef3284a4f5d9bf6d4 Log: Added tests and NEWS entry Fixed bug #72598 (Reference is lost after array_slice()) Bugs: https://bugs.php.net/72598 Changed paths: M NEWS A Zend/tests/bug72598.phpt A Zend/tests/bug72598_2.phpt Diff: diff --git a/NEWS b/NEWS index 31eded8..ca0f198 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016, PHP 7.1.0RC1 +- Core: + . Fixed bug #72598 (Reference is lost after array_slice()) (Nikita) + -GD: . Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images). (cmb) diff --git a/Zend/tests/bug72598.phpt b/Zend/tests/bug72598.phpt new file mode 100644 index 0000000..dfb09a0 --- /dev/null +++ b/Zend/tests/bug72598.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #72598 (Reference is lost after array_slice()) +--FILE-- +<?php +function ref(&$ref) { + var_dump($ref); +} + +new class { + function __construct() { + $args = [&$this]; + for ($i = 0; $i < 2; $i++) { + $a = array_slice($args, 0, 1); + call_user_func_array('ref', $a); + } + } +}; +?> +--EXPECTF-- +Warning: Parameter 1 to ref() expected to be a reference, value given in %sbug72598.php on line 11 +object(class@anonymous)#1 (0) { +} + +Warning: Parameter 1 to ref() expected to be a reference, value given in %sbug72598.php on line 11 +object(class@anonymous)#1 (0) { +} diff --git a/Zend/tests/bug72598_2.phpt b/Zend/tests/bug72598_2.phpt new file mode 100644 index 0000000..c394380 --- /dev/null +++ b/Zend/tests/bug72598_2.phpt @@ -0,0 +1,27 @@ +--TEST-- +Bug #72598.2 (Reference is lost after array_slice()) +--FILE-- +<?php +function ref(&$ref) { + var_dump($ref); + $ref = 1; +} + +new class { + function __construct() { + $b = 0; + $args = [&$b]; + unset($b); + for ($i = 0; $i < 2; $i++) { + $a = array_slice($args, 0, 1); + call_user_func_array('ref', $a); + } + } +}; +?> +--EXPECTF-- +Warning: Parameter 1 to ref() expected to be a reference, value given in %sbug72598_2.php on line 14 +int(0) + +Warning: Parameter 1 to ref() expected to be a reference, value given in %sbug72598_2.php on line 14 +int(0)

« previous php.cvs (#94049) next »