diff --git a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFDiagram.java b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFDiagram.java index 895745711c..5b456538c5 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFDiagram.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFDiagram.java @@ -148,8 +148,12 @@ public class XSLFDiagram extends XSLFGraphicFrame { shapeCt.setSpPr(msShapeCt.getSpPr()); CTShapeNonVisual nonVisualCt = shapeCt.addNewNvSpPr(); - nonVisualCt.setCNvPr(msShapeCt.getNvSpPr().getCNvPr()); - nonVisualCt.setCNvSpPr(msShapeCt.getNvSpPr().getCNvSpPr()); + com.microsoft.schemas.office.drawing.x2008.diagram.CTShapeNonVisual nvSpPr = msShapeCt.getNvSpPr(); + if (nvSpPr == null) { + nvSpPr = msShapeCt.addNewNvSpPr(); + } + nonVisualCt.setCNvPr(nvSpPr.getCNvPr()); + nonVisualCt.setCNvSpPr(nvSpPr.getCNvSpPr()); nonVisualCt.setNvPr(CTApplicationNonVisualDrawingProps.Factory.newInstance()); shapeCt.setNvSpPr(nonVisualCt); diff --git a/test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-6435650376957952.pptx b/test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-6435650376957952.pptx new file mode 100644 index 0000000000..8da1ed93f9 Binary files /dev/null and b/test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-6435650376957952.pptx differ diff --git a/test-data/spreadsheet/stress.xls b/test-data/spreadsheet/stress.xls index aec4cdf62e..db5b3318d1 100644 Binary files a/test-data/spreadsheet/stress.xls and b/test-data/spreadsheet/stress.xls differ