RFR: 8264161: BigDecimal#stripTrailingZeros can throw undocumented ArithmeticException
Roger Riggs
rriggs at openjdk.java.net
Wed Apr 21 16:08:34 UTC 2021
On Thu, 25 Mar 2021 08:19:24 GMT, Fabian Meumertzheim <github.com+4312191+fmeum at openjdk.org> wrote:
> Adds missing @throws declarations for ArithmeticException to the public
> function
> java.math.BigDecimal#stripTrailingZeros
> as well as the private helper functions
> java.math.BigDecimal#createAndStripZerosToMatchScale(long, int, long)
> java.math.BigDecimal#createAndStripZerosToMatchScale(BigInteger, int, long)
>
> stripTrailingZeros calls one of the two helper functions, both of which
> can repeatedly decrease the scale by 1 until it underflows. If it does,
> the call to checkScale will result in an ArithmeticException (overflow).
Please note the issue [8264161](https://bugs.openjdk.java.net/browse/JDK-8264161) has already been addressed by:
https://github.com/openjdk/jdk/pull/3204
-------------
PR: https://git.openjdk.java.net/jdk/pull/3189
More information about the core-libs-dev
mailing list