From edcbd87360cfdaa46a8b0510c0471b35296e49c1 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sat, 11 Jan 2025 09:24:03 +0000 Subject: [PATCH] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a NullPointerException Fixes https://issues.oss-fuzz.com/issues/42538163 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1923058 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xslf/usermodel/XSLFGraphicFrame.java | 2 +- ...imized-POIXSLFFuzzer-4838644450394112.pptx | Bin 0 -> 23331 bytes test-data/spreadsheet/stress.xls | Bin 70656 -> 71168 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-4838644450394112.pptx diff --git a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java index b554cdd6a9..4dcc60e77b 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFGraphicFrame.java @@ -79,7 +79,7 @@ public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrameS=DgWG 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 Ld6TJ={_uTl`aFK8 literal 0 HcmV?d00001 diff --git a/test-data/spreadsheet/stress.xls b/test-data/spreadsheet/stress.xls index e4afaf91d677fc2023ececcb34c4dc28a4cfadb9..b715df6bdcf72705bf47e56032ffd577b3573177 100644 GIT binary patch delta 3077 zcma);dsLHU9LJw$7j9#|n+ulE&Sn=oIxirTi%SKEFa;#=u8ARxqQDUjwLd(NhL>aK zba~2UR7z%UJvX_9&i8P;Vgk(h#z4|D-X|x6Uo%B#KO1RpO{}l{=R$uO}L^;1XLC{e)5$PKeK= zQ)i^pqnlA4s7Y_V7-BqXI-5);Rdt*UaZ8byfBSyNGJTIO__ zsvWNCa>ojXDZi}DR95Y*G`SvhnC9o@nw(1?a+J7+5i+Zyyws6byxireHmxjPE?!pV ztXWp-sVh<{q#KH{GFyhuULLM1Ph!zHJj%DtWdU+B_V8+te@IuD}H5J9xY*MM- zIEvg&$Ozkr+wG2u6%JQRMxA48Liz8pIUdncCo5Mr34DRB$aP za$+2`RuBa-jtHJt5+yM{8av<%BVi;nK6oCcrxufV^O!Kw@{pt3MHCx?}vE8x?e!2K&FtTJ)M zWAx-X^kqwY*_8YEL%@C60bebA_1o<(HSl}lY#MF3WsM+PqwlA_IUaVd$>L5h>$oUMaOn@ zL`ocy=x7GVtL)q$N0h{&5*<6xp^`XM=or@#PhVp>9l<%GB@VUdcpV*Ti9?N!t>D2s6F>_~d4voa26&<_Lp_Mqa=%@w99@a3(F;wEviH^PK z&`BIRbX)_+n@rV}LiaISmzloBoKW|(2B>edV^BS;1L`}>cq4@#VDq3JWKZ5O(bvYB)b~8Po4aN7eb(GBquo}Cq>Np276QR`ZjQ$L6(Zl&~FgFMV5wadcVQ?9kPj% zoQWYhRx#&$?6uf=y@vFkbJiPs_wu}nnj16LsR-d>ShIv6MjaV;m7Wg z3Tm+af^h0UFW=dzArsmlR!@G#UKH@+nKZF&J$_k0f z7NdU0-fR>kD#7{(LOa669R7)LI>LDW`a}aI;Xl+9{R}wWhBx;@*)sDUMP|(J$9SG+mG(-UGM7RLq zbb!__gbO863qzt7iBUJOcM%F2x%DQ(`w*Vw@LzCNct9GY6w-s$9+g zJfy=>7qd%A-30>Gx#tTsIzk&W`*gvQbCeBN+~TeiXeV9ouF=r7vK5M^9t{nX{|DHw Bi@*Q? delta 2596 zcma)*dr(wm7{9Ri$V^xGpy4vF$V@kbk!pQqO6y^1R>s#5YVwHbP6k`VM2*= z#+b=@)y0a;%(S$KHX$mYo89bYR%S$W)6^7_d+I{(`Syk7oWI(g^US=z^L)?qedo-n zJZ`EyYIqJqK4~7ZFm}^3 zAv7bMCwg+1$~MoW0<$?Hf(^5%0LHAivUV0@_e6lRxZ0S)rb1hBR9a41VQF#U{l$~x zrY6Tu5kG%=B$L_gjKyWfOW?76LZA*@0*#KIm)BP@+{24vSR%A@gzJe&^I$fnCkO{Z9G%u z3A%id&xvGvIAdOXL|L4(NO5T2WWZ@7nthWAr`yIRGmB#Lndj`4nViQ%c-O5VE=<89 z=Hf1JcI`AKvn2It1&$rNvnw+8|2!Ky`O4kc#>&Z0?P**WtQWJgx;FYc&2%;(+*&Fy%Qo*c-#^ zpat~+oEzs3)VPC$`+2bSsqRG7gRrR2pB=1mhY0rzuwA(8P!B=#IJZ^f4i)Yf;hJ!V z_Q&wU5Z~|54%4_L;eH7U(N_l*s7GM`ICr?lZ4>UJa9X&pqP`441ODs?jeCM{zXBNp zYIZ*AF(@B!^5f7jAoEwD1NAis8kBiGOh?+t7mg4)mkG3yC*n-U6#pTcH}Y4H{72gAUa9A;>E$ zAJFTU#q0l2yi_ZGdd>`P+Pi3N<< zm9L1+(DcmE^*BY(*W`85`hpR=^bN6@#C9P&O>7piChYl^*lbPDY+a8cdd`qn@p<=3 z+%A1bYz{F6+4sa!iEZL`-V<#+gEyM^I-c|+-ANxy@s5m) z?7&r3cs+*KFwUdb&L)R}ckI~m%x7&;x`-$MZu}JlW&eLryQ*5lA zyqOfxjRDfn1m_csu^{XqxPYJwq4EpCEKOCGuF55aIp{Kq@HTAu4;*>`h&bnC}4R2rv6Fr4uX%U@I1k#1dkw8E)ZO%samG1S}v;o zBJXkv7*SI%5?n!04n%l~;GG2X5Gt1mW^1albyYc{>TmMqP(Zz!dWGO!1lv`3m0&Kx zfFP{uBDhjhwNh7=C#t&1n@0f!7$E&aa23H_D!fK;HNhses)yhjP1PD*)ml;2OWw5< zAO&M;AHj756&3aq%qO@Bp)x>ly{2ltuBt#(4U)Hj0@{N4ebNxYyGN@+uP` d-Oj;bn&_^y@jm{zds_srG6Wi%u19c-@jpQsN0