mirror of https://github.com/apache/poi.git
Don't fail on row-nums larger than Integer.MAX_VALUE, we had one sample
file which triggered this git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1851211 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
db14c353fc
commit
8c18d93a66
|
@ -350,8 +350,11 @@ public class CellReference {
|
|||
* @throws NumberFormatException if rowStr is not parseable as an integer
|
||||
*/
|
||||
public static boolean isRowWithinRange(String rowStr, SpreadsheetVersion ssVersion) {
|
||||
final int rowNum = Integer.parseInt(rowStr) - 1;
|
||||
return isRowWithinRange(rowNum, ssVersion);
|
||||
final long rowNum = Long.parseLong(rowStr) - 1;
|
||||
if(rowNum > Integer.MAX_VALUE) {
|
||||
return false;
|
||||
}
|
||||
return isRowWithinRange((int)rowNum, ssVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -399,10 +399,10 @@ public final class TestCellReference {
|
|||
assertFalse("1 beyond last row", CellReference.isRowWithinRange(1048576, ss));
|
||||
}
|
||||
|
||||
@Test(expected=NumberFormatException.class)
|
||||
@Test
|
||||
public void isRowWithinRangeNonInteger_BigNumber() {
|
||||
String rowNum = "4000000000";
|
||||
CellReference.isRowWithinRange(rowNum, SpreadsheetVersion.EXCEL2007);
|
||||
assertFalse(CellReference.isRowWithinRange(rowNum, SpreadsheetVersion.EXCEL2007));
|
||||
}
|
||||
|
||||
@Test(expected=NumberFormatException.class)
|
||||
|
|
Loading…
Reference in New Issue