summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_multiply.h5
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); \