diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java index babad02b8..c3e66f6e7 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java @@ -238,6 +238,10 @@ public final class StyleSheet implements HDFType { } + if (parentPAP == null) { + parentPAP = new ParagraphProperties(); + } + pap = ParagraphSprmUncompressor.uncompressPAP(parentPAP, papx, 2); sd.setPAP(pap); } diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java index d328dfe40..6f7affe08 100644 --- a/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/extractor/TestWordExtractorBugs.java @@ -38,4 +38,13 @@ public final class TestWordExtractorBugs extends TestCase { extractor.getParagraphText(); extractor.getTextFromPieces(); } + + public void testBug50688() throws Exception { + WordExtractor extractor = + new WordExtractor(POIDataSamples.getDocumentInstance().openResourceAsStream("parentinvguid.doc")); + + // Check it gives text without error + extractor.getText(); + } + } diff --git a/test-data/document/parentinvguid.doc b/test-data/document/parentinvguid.doc new file mode 100644 index 000000000..f27cf3ee6 Binary files /dev/null and b/test-data/document/parentinvguid.doc differ