From 76617e979345840b2dc246d9e148ad7bab7dbc96 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sat, 11 Jan 2025 09:24:14 +0000 Subject: [PATCH] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a NullPointerException Fixes https://issues.oss-fuzz.com/issues/42537550 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1923060 13f79535-47bb-0310-9956-ffa450edef68 --- .../section/geometry/EllipticalArcTo.java | 4 ++++ ...mized-POIVisioFuzzer-5842659694215168.vsdx | Bin 0 -> 35605 bytes test-data/spreadsheet/stress.xls | Bin 71168 -> 71680 bytes 3 files changed, 4 insertions(+) create mode 100644 test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-5842659694215168.vsdx diff --git a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/EllipticalArcTo.java b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/EllipticalArcTo.java index 1dcb6cbdfc..99561a6a7d 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/EllipticalArcTo.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xdgf/usermodel/section/geometry/EllipticalArcTo.java @@ -73,6 +73,10 @@ public class EllipticalArcTo implements GeometryRow { for (CellType cell : row.getCellArray()) { String cellName = cell.getN(); + if (cellName == null) { + throw new POIXMLException("Missing cellName in EllipticalArcTo row"); + } + switch (cellName) { case "X": x = XDGFCell.parseDoubleValue(cell); diff --git a/test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-5842659694215168.vsdx b/test-data/diagram/clusterfuzz-testcase-minimized-POIVisioFuzzer-5842659694215168.vsdx new file mode 100644 index 0000000000000000000000000000000000000000..e6e6a3a9023818ce1fd0aba1f2051ce2f6e138a8 GIT binary patch literal 35605 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 delta 2555 zcmZ9Ndr(wW9LLXZAAqpS0!wbO>`Y8E%`i6uXVgA74Xj>HMkz@ikFe``${J(jrUDm~{>?jZj9 zVuNFoFo~wf;Mgq8B5}^xA}k{D`ry1(SViKN`TzUEM40fogY#;OzKEHzFh#3AfBD^x zC;amKwPt_GP!^f5BO$k6NU-@x&GL50M=f2^lqC1m6iUy62`j?%6Q_%U9K1p?jzRV;G@cp*WrjWIO5>g#f}5= z=(yW6`(B&|N4)MhC@+s^(;=x{(dZ3X%GEC$xxOh6aD7YmaXl=Q<9b52O>6YN?BV)>3~>EW zY5|QtlBHZv%Eo}^_!zgN>9_NVJQnacPJ!J3HW2X8r_JG{(Pz!+q&Ysve9Fvxb1fx% zPlKh-FdlXCpKvNa7Ii3Rk7b&E`(L0p4ePtfuh5$bK?4gMJ%Cw&?FxPkm<`ygqP_vlF+}BrMDc$yJ{I4iHy4653tPVfya}*E z!S4aRfK3d&y?~1hQHw&N^7N=5(3=NAzq0lLE(Ww)8U6^k1Tfc1wa=O;K6W|~2+Uqh zES>I1ilIL0*lVR!llKgk&rzL}rU>qA6r1m~UwycsZ0!Jh$d0o=^c+Yh*O z2J%Q9o24O9%k-#U(7OzR6UzE4;H`jz3jPLo8{jqbIO=!6<%X!`AyEZ-)F0?AfZ%=> zIQ|4I1l+0MIlvWwr&QDc;7UW(%8;lcJ?by?7D12{$=36Lw*wX__&4Axz%2~DgMh0I zQL96uiuI^}&|3^ax3Ufat^u4<@B&~7U~&{kT?AZfh*}#GwN8(^gx+-!G_b&N8E`#d zyMn`jrGULEY6P&%5LFfuwLy;>Meha((rj!U1H1#ULcwvsI{}**danSM8=}fXqAK*L z3G`M#(66kMfR%uDJHvkgs{nKDRO_7rtTsedheU1Eqo&cjaW+a>1AuqUMnyB^<@!(l zrWx3g8%?!zIEFIJu{7S