aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache
diff options
context:
space:
mode:
authorNick Burch <nick@apache.org>2007-09-17 16:54:40 +0000
committerNick Burch <nick@apache.org>2007-09-17 16:54:40 +0000
commit8dd7f4f2a4b2c1ed20bf935d585557f3c28e9bf3 (patch)
treeb0fc6d8ac03ad61b9c731efce99ce095f221b933 /src/java/org/apache
parent10cf53ec200877d2b5850b7790870656775b8124 (diff)
downloadpoi-8dd7f4f2a4b2c1ed20bf935d585557f3c28e9bf3.tar.gz
poi-8dd7f4f2a4b2c1ed20bf935d585557f3c28e9bf3.zip
Fix for rows between 32767 and 65536, don't incorrectly cast to a short (fixes #43401)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@576519 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache')
-rw-r--r--src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java b/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
index 44d37de36b..bed1f0748e 100644
--- a/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
+++ b/src/java/org/apache/poi/hssf/record/aggregates/RowRecordsAggregate.java
@@ -76,11 +76,13 @@ public class RowRecordsAggregate
public RowRecord getRow(int rownum)
{
+ // Row must be between 0 and 65535
+ if(rownum < 0 || rownum > 65535) {
+ throw new IllegalArgumentException("The row number must be between 0 and 65535");
+ }
- // Integer integer = new Integer(rownum);
RowRecord row = new RowRecord();
-
- row.setRowNumber(( short ) rownum);
+ row.setRowNumber(rownum);
return ( RowRecord ) records.get(row);
}