]> source.dussan.org Git - poi.git/commitdiff
Bug 66425: Avoid exceptions found via poi-fuzz
authorDominik Stadler <centic@apache.org>
Sat, 20 Apr 2024 07:53:40 +0000 (07:53 +0000)
committerDominik Stadler <centic@apache.org>
Sat, 20 Apr 2024 07:53:40 +0000 (07:53 +0000)
Prevent a NullPointerException

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=65448

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1917175 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFFootnotes.java
test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-5166796835258368.docx [new file with mode: 0644]

index f9bdfb7ad84ee0f7eb16eee1c3560628f12e74f2..177a570882335d7dec7b40f746bed5e36d1e1285 100644 (file)
@@ -127,8 +127,11 @@ public class XWPFFootnotes extends XWPFAbstractFootnotesEndnotes {
         XmlOptions xmlOptions = new XmlOptions(DEFAULT_XML_OPTIONS);
         xmlOptions.setSaveSyntheticDocumentElement(new QName(CTFootnotes.type.getName().getNamespaceURI(), "footnotes"));
         PackagePart part = getPackagePart();
-        try (OutputStream out = part.getOutputStream()) {
-            ctFootnotes.save(out, xmlOptions);
+
+        if (ctFootnotes != null) {
+            try (OutputStream out = part.getOutputStream()) {
+                ctFootnotes.save(out, xmlOptions);
+            }
         }
     }
 
diff --git a/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-5166796835258368.docx b/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-5166796835258368.docx
new file mode 100644 (file)
index 0000000..08e62e4
Binary files /dev/null and b/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-5166796835258368.docx differ