aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Stadler <centic@apache.org>2024-07-07 06:40:31 +0000
committerDominik Stadler <centic@apache.org>2024-07-07 06:40:31 +0000
commit397cee3a1283893916e2c14c77dbd14566e468df (patch)
tree343565bb1506edc4248e31d674315e42b1ee93e5
parent164c239a52ac44383c4cbad9cbf607a9e93b7f57 (diff)
downloadpoi-397cee3a1283893916e2c14c77dbd14566e468df.tar.gz
poi-397cee3a1283893916e2c14c77dbd14566e468df.zip
Bug 66425: Avoid exceptions found via poi-fuzz
Prevent a NullPointerException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=69450 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1918985 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/NURBSTo.java3
-rw-r--r--test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-4513310052515840.vsdxbin0 -> 26536 bytes
-rw-r--r--test-data/spreadsheet/stress.xlsbin65536 -> 65536 bytes
3 files changed, 3 insertions, 0 deletions
diff --git a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/NURBSTo.java b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/NURBSTo.java
index e3d6f59eb8..deb00115c2 100644
--- a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/NURBSTo.java
+++ b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/NURBSTo.java
@@ -67,6 +67,9 @@ public class NURBSTo implements GeometryRow {
for (CellType cell : row.getCellArray()) {
String cellName = cell.getN();
+ if (cellName == null) {
+ throw new POIXMLException("Invalid null-cell in NURBS row");
+ }
switch (cellName) {
case "X":
diff --git a/test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-4513310052515840.vsdx b/test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-4513310052515840.vsdx
new file mode 100644
index 0000000000..2e316f8730
--- /dev/null
+++ b/test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-4513310052515840.vsdx
Binary files differ
diff --git a/test-data/spreadsheet/stress.xls b/test-data/spreadsheet/stress.xls
index 4c9c65f32a..f4d52ecf69 100644
--- a/test-data/spreadsheet/stress.xls
+++ b/test-data/spreadsheet/stress.xls
Binary files differ