You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2023/09/06 14:58:31 UTC

svn commit: r1912140 - in /poi/trunk: poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-4791943399604224.docx

Author: centic
Date: Wed Sep  6 14:58:31 2023
New Revision: 1912140

URL: http://svn.apache.org/viewvc?rev=1912140&view=rev
Log:
Bug 66425: Avoid a ClassCastException found via oss-fuzz

We try to avoid throwing ClassCastException, but it was possible
to trigger one here with a specially crafted input-file

Added:
    poi/trunk/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-4791943399604224.docx   (with props)
Modified:
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1912140&r1=1912139&r2=1912140&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Wed Sep  6 14:58:31 2023
@@ -312,11 +312,11 @@ public class XWPFDocument extends POIXML
         for (RelationPart rp : getRelationParts()) {
             POIXMLDocumentPart p = rp.getDocumentPart();
             String relation = rp.getRelationship().getRelationshipType();
-            if (relation.equals(XWPFRelation.FOOTNOTE.getRelation())) {
+            if (relation.equals(XWPFRelation.FOOTNOTE.getRelation()) && p instanceof XWPFFootnotes) {
                 this.footnotes = (XWPFFootnotes) p;
                 this.footnotes.onDocumentRead();
                 this.footnotes.setIdManager(footnoteIdManager);
-            } else if (relation.equals(XWPFRelation.ENDNOTE.getRelation())) {
+            } else if (relation.equals(XWPFRelation.ENDNOTE.getRelation()) && p instanceof XWPFEndnotes) {
                 this.endnotes = (XWPFEndnotes) p;
                 this.endnotes.onDocumentRead();
                 this.endnotes.setIdManager(footnoteIdManager);

Added: poi/trunk/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-4791943399604224.docx
URL: http://svn.apache.org/viewvc/poi/trunk/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-4791943399604224.docx?rev=1912140&view=auto
==============================================================================
Binary file - no diff available.

Propchange: poi/trunk/test-data/document/clusterfuzz-testcase-minimized-POIXWPFFuzzer-4791943399604224.docx
------------------------------------------------------------------------------
--- svn:mime-type (added)
+++ svn:mime-type Wed Sep  6 14:58:31 2023
@@ -0,0 +1 @@
+application/vnd.openxmlformats-officedocument.wordprocessingml.document



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org