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