fix for issues 34575 and 35527 { fillFields(..) modified }
git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353739 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
feec0fdaca
commit
88f091b93e
@ -92,15 +92,17 @@ public class ObjRecord
|
|||||||
{
|
{
|
||||||
subrecords = new ArrayList();
|
subrecords = new ArrayList();
|
||||||
int pos = offset;
|
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 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);
|
Record subRecord = SubRecord.createSubRecord(subRecordSid, subRecordSize, data, pos + 4);
|
||||||
subrecords.add(subRecord);
|
subrecords.add(subRecord);
|
||||||
pos += subRecord.getRecordSize();
|
pos += subRecord.getRecordSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String toString()
|
public String toString()
|
||||||
|
Loading…
Reference in New Issue
Block a user