Fix crash on numeric comparison again (ref #2825)

The decNumber library subtracts the exponents of two numbers,
we make sure to limit the number of digits not to make it overflows.
Since the maximum adjusted exponent is `emax` and the minimum is
`emin - digits + 1`, we follow `emax - (emin - digits + 1) <= INT32_MAX`.
This commit is contained in:
itchyny authored and Emanuele Torre committed 2023-08-13 14:17:25 +02:00
1 parent f86566b263
commit 3fa10e8cc1
2 files changed
+18 -2

No files matched your search

+17 -1
View File
@@ -556,8 +556,24 @@ null
null
1e+17
5E500000000>5E-5000000000
9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990
null
9E+999999999
9.999999999E+999999999
1E-999999999
1E-999999999
5E500000000 > 5E-5000000000, 10000E500000000 > 10000E-5000000000
null
true
true
# #2825
(1e999999999, 10e999999999) > (1e-1147483648, 0.1e-1147483648)
null
true
true
true
true
25 % 7