diff options
-rw-r--r-- | Zend/zend_multiply.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h index d8304c26e3..be41e588c3 100644 --- a/Zend/zend_multiply.h +++ b/Zend/zend_multiply.h @@ -29,9 +29,10 @@ #else #define ZEND_SIGNED_MULTIPLY_LONG(a, b, lval, dval, usedval) do { \ - (dval) = (double) (a) * (double) (b); \ + double __tmpvar = (double) (a) * (double) (b); \ \ - if ((dval) >= LONG_MAX || (dval) <= LONG_MIN) { \ + if (__tmpvar >= LONG_MAX || __tmpvar <= LONG_MIN) { \ + (dval) = __tmpvar; \ (usedval) = 1; \ } else { \ (lval) = (a) * (b); \ |