From 183c00ddb63a5a7b016f502fc3840010bd49f991 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 16 Jun 2015 18:01:11 +0200 Subject: [PATCH] Fix references handling in convert_scalar_to_number --- Zend/zend_operators.c | 2 +- .../tests/array/array_sum_on_reference.phpt | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/array/array_sum_on_reference.phpt diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index a6172179f5..3176cb505b 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 0000000000..a11da5fdab --- /dev/null +++ b/ext/standard/tests/array/array_sum_on_reference.phpt @@ -0,0 +1,15 @@ +--TEST-- +array_sum() on array with references +--FILE-- + +--EXPECT-- +int(200) +string(3) "100" -- 2.40.0