From: Nick Burch Date: Mon, 17 Sep 2007 16:54:40 +0000 (+0000) Subject: Fix for rows between 32767 and 65536, don't incorrectly cast to a short (fixes #43401) X-Git-Tag: REL_3_0_2_BETA1~46 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8dd7f4f2a4b2c1ed20bf935d585557f3c28e9bf3;p=poi.git 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 --- 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); }