commit | 8a2eefacc8d1d402e07c84221b05fb9c6345fa7f | [log] [tgz] |
---|---|---|
author | Daniel Kurka <dankurka@google.com> | Tue Nov 17 18:00:39 2015 -0800 |
committer | Daniel Kurka <dankurka@google.com> | Tue Nov 17 18:00:39 2015 -0800 |
tree | aa4e3a2f2af43419e94cdc621b44182fc29a51ee | |
parent | 65689c67e608fa0f83f94031bdf79d19be3de74a [diff] |
Do not rely on NPE's in MathContext. Change-Id: Ie1326fbba561eb03fefb6ca87b6365499e262b58 Review-Link: https://gwt-review.googlesource.com/#/c/13987/
diff --git a/user/super/com/google/gwt/emul/java/math/MathContext.java b/user/super/com/google/gwt/emul/java/math/MathContext.java index a1bf062..fec0b4d 100644 --- a/user/super/com/google/gwt/emul/java/math/MathContext.java +++ b/user/super/com/google/gwt/emul/java/math/MathContext.java
@@ -140,8 +140,12 @@ public MathContext(String val) { checkNotNull(val, "null string"); + String[] extractedValues = parseValue(val); + if (extractedValues == null || extractedValues.length != 3) { + throw new IllegalArgumentException("bad string format"); + } + try { - String[] extractedValues = parseValue(val); this.precision = Integer.parseInt(extractedValues[1]); // Can use RoundingMode.valueOf here because it is blacklisted in enum obfuscation. this.roundingMode = RoundingMode.valueOf(extractedValues[2]);