You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2019/01/13 17:14:31 UTC
svn commit: r1851211 - in /poi/trunk/src:
java/org/apache/poi/ss/util/CellReference.java
testcases/org/apache/poi/ss/util/TestCellReference.java
Author: centic
Date: Sun Jan 13 17:14:31 2019
New Revision: 1851211
URL: http://svn.apache.org/viewvc?rev=1851211&view=rev
Log:
Don't fail on row-nums larger than Integer.MAX_VALUE, we had one sample
file which triggered this
Modified:
poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java
poi/trunk/src/testcases/org/apache/poi/ss/util/TestCellReference.java
Modified: poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java?rev=1851211&r1=1851210&r2=1851211&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/util/CellReference.java Sun Jan 13 17:14:31 2019
@@ -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);
}
/**
Modified: poi/trunk/src/testcases/org/apache/poi/ss/util/TestCellReference.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/util/TestCellReference.java?rev=1851211&r1=1851210&r2=1851211&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/util/TestCellReference.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/util/TestCellReference.java Sun Jan 13 17:14:31 2019
@@ -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)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org