[LANG-1385] NumberUtils.createNumber() throws
StringIndexOutOfBoundsException instead of NumberFormatException.
This commit is contained in:
parent
9c886bd4a1
commit
8b62c114cf
|
@ -53,6 +53,7 @@ The <action> type attribute can be add,update,fix,remove.
|
|||
<action issue="LANG-1374" type="fix" dev="kinow" due-to="Jaswanth Bala">Parsing Json Array failed</action>
|
||||
<action issue="LANG-1371" type="fix" dev="pschumacher" due-to="Dmitry Ovchinnikov">Fix TypeUtils#parameterize to work correctly with narrower-typed array</action>
|
||||
<action issue="LANG-1370" type="fix" dev="kinow" due-to="Andre Dieb">Fix EventCountCircuitBreaker increment batch</action>
|
||||
<action issue="LANG-1385" type="fix" dev="ggregory" due-to="Rohan Padhye">NumberUtils.createNumber() throws StringIndexOutOfBoundsException instead of NumberFormatException</action>
|
||||
<action issue="LANG-1367" type="update" dev="ggregory" due-to="Gary Gregory">ObjectUtils.identityToString(Object) and friends should allocate builders and buffers with a size</action>
|
||||
<action issue="LANG-1352" type="add" dev="pschumacher" due-to="Ruslan Sibgatullin">EnumUtils.getEnumIgnoreCase and isValidEnumIgnoreCase methods added</action>
|
||||
<action issue="LANG-1372" type="add" dev="pschumacher" due-to="Sérgio Ozaki">Add ToStringSummary annotation</action>
|
||||
|
|
|
@ -526,7 +526,7 @@ public static Number createNumber(final String str) throws NumberFormatException
|
|||
case 'L' :
|
||||
if (dec == null
|
||||
&& exp == null
|
||||
&& (numeric.charAt(0) == '-' && isDigits(numeric.substring(1)) || isDigits(numeric))) {
|
||||
&& (numeric.length() > 0 && numeric.charAt(0) == '-' && isDigits(numeric.substring(1)) || isDigits(numeric))) {
|
||||
try {
|
||||
return createLong(numeric);
|
||||
} catch (final NumberFormatException nfe) { // NOPMD
|
||||
|
|
|
@ -1447,6 +1447,11 @@ public void testIsNumberLANG1252() {
|
|||
compareIsNumberWithCreateNumber("+2.0", true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsNumberLANG1385() {
|
||||
compareIsNumberWithCreateNumber("L", false);
|
||||
}
|
||||
|
||||
private void compareIsNumberWithCreateNumber(final String val, final boolean expected) {
|
||||
final boolean isValid = NumberUtils.isCreatable(val);
|
||||
final boolean canCreate = checkCreateNumber(val);
|
||||
|
|
Loading…
Reference in New Issue