On Tue, 7 Nov 2023 19:17:03 GMT, Raffaello Giulietti <rgiulie...@openjdk.org> 
wrote:

>> Prevent a `NegativeArraySizeException` in `BigDecimal.toPlainString()`, 
>> throwing `OutOfMemoryError` instead to indicate that the resulting `String` 
>> would be too large.
>
> Raffaello Giulietti has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Using repeat() instead of loop.

+1

The test might be a good candidate for conversion to JUnit 5, but that does not 
need to be part of this request.

src/java.base/share/classes/java/math/BigDecimal.java line 3510:

> 3508:                 : intVal.toString();
> 3509:             int len = str.length() + trailingZeros;
> 3510:             if (len < 0) {

One could use `Math.addExact`, which has an intrinsic, and convert any thrown 
`ArithmeticException` into an OOME but I am not sure it's worth it.

-------------

Marked as reviewed by bpb (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16457#pullrequestreview-1719081771
PR Comment: https://git.openjdk.org/jdk/pull/16457#issuecomment-1800720638
PR Review Comment: https://git.openjdk.org/jdk/pull/16457#discussion_r1385790342

Reply via email to