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