Merge branch 'PHP-5.4' into PHP-5.5

This commit is contained in:
Xinchen Hui 2013-07-21 21:07:27 +08:00
commit c7b58e4967
2 changed files with 11 additions and 11 deletions

View File

@ -4071,17 +4071,7 @@ PHP_FUNCTION(array_sum)
entry_n = **entry;
zval_copy_ctor(&entry_n);
convert_scalar_to_number(&entry_n TSRMLS_CC);
if (Z_TYPE(entry_n) == IS_LONG && Z_TYPE_P(return_value) == IS_LONG) {
dval = (double)Z_LVAL_P(return_value) + (double)Z_LVAL(entry_n);
if ( (double)LONG_MIN <= dval && dval <= (double)LONG_MAX ) {
Z_LVAL_P(return_value) += Z_LVAL(entry_n);
continue;
}
}
convert_to_double(return_value);
convert_to_double(&entry_n);
Z_DVAL_P(return_value) += Z_DVAL(entry_n);
fast_add_function(return_value, return_value, &entry_n TSRMLS_CC);
}
}
/* }}} */

View File

@ -0,0 +1,10 @@
--TEST--
Bug #65304 (Use of max int in array_sum)
--FILE--
<?php
var_dump(array_sum(array(PHP_INT_MAX, 1)));
var_dump(PHP_INT_MAX + 1);
?>
--EXPECTF--
float(%s)
float(%s)