This is an automated email from the ASF dual-hosted git repository. centic pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/poi.git
commit 9d9865c9b8a8fc831728141c9b7a5b4dd3dc30c2 Author: Dominik Stadler <[email protected]> AuthorDate: Sat Feb 21 13:44:59 2026 +0100 Avoid NPE when handling diagrams in pptx Fixes https://issues.oss-fuzz.com/issues/484589690 --- .../org/apache/poi/xslf/usermodel/XSLFDiagram.java | 8 ++++++-- ...se-minimized-POIXSLFFuzzer-6435650376957952.pptx | Bin 0 -> 69779 bytes test-data/spreadsheet/stress.xls | Bin 80384 -> 80896 bytes 3 files changed, 6 insertions(+), 2 deletions(-) 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
