mirror of https://github.com/apache/poi.git
[bug-66335] apply rest of fix
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1905062 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c4a0266cb3
commit
c838c6cd6c
|
@ -255,7 +255,7 @@ public abstract class PropertiesChunk extends Chunk {
|
|||
// to another chunk which holds the data itself
|
||||
boolean isPointer = false;
|
||||
int length = type.getLength();
|
||||
if (!type.isFixedLength()) {
|
||||
if (type.isPointer()) {
|
||||
isPointer = true;
|
||||
length = 8;
|
||||
}
|
||||
|
@ -380,7 +380,7 @@ public abstract class PropertiesChunk extends Chunk {
|
|||
LittleEndian.putUInt(value.getFlags(), out); // readable + writable
|
||||
|
||||
MAPIType type = getTypeMapping(value.getActualType());
|
||||
if (type.isFixedLength()) {
|
||||
if (type.isFixedLength() && !type.isPointer()) {
|
||||
// page 11, point 2.1.2
|
||||
writeFixedLengthValueHeader(out, property, type, value);
|
||||
} else {
|
||||
|
|
|
@ -12,8 +12,7 @@ public class TestFileRead {
|
|||
void bug66335() throws IOException {
|
||||
try (MAPIMessage mapiMessage = new MAPIMessage(
|
||||
POIDataSamples.getHSMFInstance().getFile("bug66335.msg"))) {
|
||||
// 25 is not the right number of properties but it is what the existing code finds
|
||||
assertEquals(25, mapiMessage.getMainChunks().getProperties().size());
|
||||
assertEquals(151, mapiMessage.getMainChunks().getProperties().size());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue