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/