From f6c4d4791c6844cd9a189861a8d4aa06b0a8dd31 Mon Sep 17 00:00:00 2001 From: Matt Wilmas Date: Tue, 17 Feb 2009 14:14:56 +0000 Subject: [PATCH] Fixed bug #47422 (modulus operator returns incorrect results on 64 bit linux) Removed abs(), just -1 needs to be checked (only LONG_MIN % -1 is a problem) --- Zend/zend_operators.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index b03c441327..da735a18b5 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -1523,7 +1523,7 @@ ZEND_API int mod_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ * return FAILURE; /* modulus by zero */ } - if (abs(Z_LVAL_P(op2)) == 1) { + if (Z_LVAL_P(op2) == -1) { ZVAL_LONG(result, 0); return SUCCESS; } -- 2.40.0