8364781: Re-examine DigitList digits resizing during parsing

Reviewed-by: liach, naoto
This commit is contained in:
Justin Lu 2025-08-13 20:43:46 +00:00
parent 4680dc9831
commit 9660320041

View file

@ -42,6 +42,7 @@ import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode; import java.math.RoundingMode;
import jdk.internal.math.FloatingDecimal; import jdk.internal.math.FloatingDecimal;
import jdk.internal.util.ArraysSupport;
/** /**
* Digit List. Private to DecimalFormat. * Digit List. Private to DecimalFormat.
@ -153,7 +154,7 @@ final class DigitList implements Cloneable {
*/ */
public void append(char digit) { public void append(char digit) {
if (count == digits.length) { if (count == digits.length) {
char[] data = new char[count + 100]; char[] data = new char[ArraysSupport.newLength(count, 1, count)];
System.arraycopy(digits, 0, data, 0, count); System.arraycopy(digits, 0, data, 0, count);
digits = data; digits = data;
} }