From 363ff60475d93716722034b8f7a2486229bf4cfb Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Thu, 6 Feb 2014 21:31:40 +0100 Subject: [PATCH] Fixed memory leak in pow operator --- Zend/zend_operators.c | 6 ++++-- ext/standard/tests/math/pow_variation2.phpt | 4 ++-- 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=== -- 2.50.1