summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_operators.c6
-rw-r--r--ext/standard/tests/math/pow_variation2.phpt4
2 files changed, 6 insertions, 4 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c
index 03dbb15264..f022909bc3 100644
--- a/Zend/zend_operators.c
+++ b/Zend/zend_operators.c
@@ -1026,12 +1026,14 @@ ZEND_API int pow_function(zval *result, zval *op1, zval *op2 TSRMLS_DC)
ZEND_TRY_BINARY_OBJECT_OPERATION(ZEND_POW);
if (Z_TYPE_P(op1) == IS_ARRAY) {
- ZVAL_LONG(op1, 0);
+ ZVAL_LONG(result, 0);
+ return SUCCESS;
} else {
zendi_convert_scalar_to_number(op1, op1_copy, result);
}
if (Z_TYPE_P(op2) == IS_ARRAY) {
- ZVAL_LONG(op2, 0);
+ ZVAL_LONG(result, 1L);
+ return SUCCESS;
} else {
zendi_convert_scalar_to_number(op2, op2_copy, result);
}
diff --git a/ext/standard/tests/math/pow_variation2.phpt b/ext/standard/tests/math/pow_variation2.phpt
index b1800bb15f..f571936727 100644
--- a/ext/standard/tests/math/pow_variation2.phpt
+++ b/ext/standard/tests/math/pow_variation2.phpt
@@ -145,7 +145,7 @@ float(1)
float(1)
-- Iteration 19 --
-float(1)
+int(1)
-- Iteration 20 --
float(1)
@@ -169,4 +169,4 @@ float(1)
-- Iteration 26 --
%s
-===Done=== \ No newline at end of file
+===Done===