You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by am...@apache.org on 2005/07/07 00:01:13 UTC
cvs commit: jakarta-poi/src/java/org/apache/poi/hssf/record ObjRecord.java
amol 2005/07/06 15:01:13
Modified: src/java/org/apache/poi/hssf/record ObjRecord.java
Log:
fix for issues 34575 and 35527 { fillFields(..) modified }
Revision Changes Path
1.8 +5 -3 jakarta-poi/src/java/org/apache/poi/hssf/record/ObjRecord.java
Index: ObjRecord.java
===================================================================
RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/ObjRecord.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ObjRecord.java 1 May 2005 11:26:17 -0000 1.7
+++ ObjRecord.java 6 Jul 2005 22:01:13 -0000 1.8
@@ -92,15 +92,17 @@
{
subrecords = new ArrayList();
int pos = offset;
- while (pos - offset < size)
+ while (pos - offset <= size-2) // atleast one "short" must be present
{
short subRecordSid = LittleEndian.getShort(data, pos);
- short subRecordSize = LittleEndian.getShort(data, pos + 2);
+ short subRecordSize = -1; // set default to "< 0"
+ if (pos-offset <= size-4) { // see if size info is present, else default to -1
+ subRecordSize = LittleEndian.getShort(data, pos + 2);
+ }
Record subRecord = SubRecord.createSubRecord(subRecordSid, subRecordSize, data, pos + 4);
subrecords.add(subRecord);
pos += subRecord.getRecordSize();
}
-
}
public String toString()
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/