com php-src: Fix references handling in convert_scalar_to _number: Zend/zend_operators.c ext/standard/tests/a rray/array_sum_on_reference.phpt
| From: | Nikita Popov | Date: | Tue, 16 Jun 2015 16:02:45 +0000 |
| Subject: | com php-src: Fix references handling in convert_scalar_to _number: Zend/zend_operators.c ext/standard/tests/a rray/array_sum_on_reference.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-87298@lists.php.net to get a copy of this message | ||
Commit: 183c00ddb63a5a7b016f502fc3840010bd49f991
Author: Nikita Popov <nikic@php.net> Tue, 16 Jun 2015 18:01:11 +0200
Parents: 44b7489fefe1f377a2b5aacca5461fede3298cea
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=183c00ddb63a5a7b016f502fc3840010bd49f991
Log:
Fix references handling in convert_scalar_to_number
Changed paths:
M Zend/zend_operators.c
A ext/standard/tests/array/array_sum_on_reference.phpt
Diff:
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index a6172179..3176cb5 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -144,7 +144,7 @@ try_again:
ZVAL_UNREF(op);
} else {
Z_DELREF_P(op);
- ZVAL_COPY_VALUE(op, Z_REFVAL_P(op));
+ ZVAL_COPY(op, Z_REFVAL_P(op));
}
goto try_again;
case IS_STRING:
diff --git a/ext/standard/tests/array/array_sum_on_reference.phpt
b/ext/standard/tests/array/array_sum_on_reference.phpt
new file mode 100644
index 0000000..a11da5f
--- /dev/null
+++ b/ext/standard/tests/array/array_sum_on_reference.phpt
@@ -0,0 +1,15 @@
+--TEST--
+array_sum() on array with references
+--FILE--
+<?php
+
+$n = "10";
+$n .= "0";
+$nums = [&$n, 100];
+var_dump(array_sum($nums));
+var_dump($n);
+
+?>
+--EXPECT--
+int(200)
+string(3) "100"