Browse Source

[bug-66335] apply rest of fix

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1905062 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_2_4
PJ Fanning 1 year ago
parent
commit
c838c6cd6c

+ 2
- 2
poi-scratchpad/src/main/java/org/apache/poi/hsmf/datatypes/PropertiesChunk.java View File

@@ -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 {

+ 1
- 2
poi-scratchpad/src/test/java/org/apache/poi/hsmf/TestFileRead.java View File

@@ -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…
Cancel
Save