From dd647b5d2d4ee4b3a82aa3aa741851597f8897dd Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Mon, 20 Jan 2025 18:40:27 +0000 Subject: [PATCH] Bug 66425: Avoid exceptions found via poi-fuzz Prevent NullPointerException Fixes https://issues.oss-fuzz.com/issues/389724915 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1923276 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xslf/usermodel/XSLFGraphicFrame.java | 5 +++++ .../apache/poi/xslf/usermodel/XSLFShape.java | 4 ++++ ...imized-POIXSLFFuzzer-5611274456596480.pptx | Bin 0 -> 26693 bytes test-data/spreadsheet/stress.xls | Bin 72192 -> 72704 bytes 4 files changed, 9 insertions(+) create mode 100644 test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-5611274456596480.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 4dcc60e77b..e52ae20054 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 @@ -84,9 +84,14 @@ public class XSLFGraphicFrame extends XSLFShape implements GraphicalFrame { // values 1-999 refer to the index of a fill style within the fillStyleLst element // values 1001 and above refer to the index of a background fill style within the bgFillStyleLst element. long idx = fillRef.getIdx(); + + if (theme == null || theme.getXmlObject() == null || theme.getXmlObject().getThemeElements() == null) { + throw new IllegalArgumentException("Could not retrieve theme elements from shape"); + } CTStyleMatrix matrix = theme.getXmlObject().getThemeElements().getFmtScheme(); final XmlObject styleLst; long childIdx; diff --git a/test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-5611274456596480.pptx b/test-data/slideshow/clusterfuzz-testcase-minimized-POIXSLFFuzzer-5611274456596480.pptx new file mode 100644 index 0000000000000000000000000000000000000000..4a5747ef805e5d99bbff37ecab630cc5df1e33aa GIT binary patch literal 26693 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 delta 2897 zcmZ9Odr(wW9LImZ%id+fg5SfL#+ghiLoIbp%!;hc>_wKEmS*-Y(=wFgO}~5i(Q*zuoXh>5&-tA1easHc z`y9=C9P2Y;*8%@{0iM_uyx#54YqXOXC|bSju9XkmyJGpOwcv#f=fz|0Rx>pkAUd27 zTUcN`=MPtvZA=JTP0?ohqcDkP+_Z4yT7aHpfciXuj0AwCl>pvYfD;V>YyIIvcUR*h z{)JcDd%(lA0_hWskDMD|Kub*IJPM+~KknQC4)9Nn%$s0>|Dj3$`<&o}U{YkBYGKed zdJaaM&4oAJv#KSWb77~$bQxag7Mr^h!mZt@h*4t4rO9#SXcC1`j`WuqK7OeR(^^s@ zO0+9Xh@2CR!EkBM7Q^!b0u0g3vzPl|vlzZI4PO-Ly#d@JDrsyJ%{0Cww$u2sIN2LW zd4*Rv<%(If(q8YRyWoSZBDF6GUlsX%Nx55z>!g`zx*wD2{w5Z zZDRX4$5o2MZtH{X?1)huF{6%W`jc>nNbZl+n4l=^2k(Q|SYba@AB=31c0o*56)A*)nqjA4DLgQOvkjA$~ z`cO8$BN}P!6weL?@Lh3`#slIajqin%hqoE{{)WRCzz;TDrtzRf?`bxEXjR*XL)Lox z@R4;GF%Wy0OHZ{+Z*<@___3AhphcfprS{=dYqfp&%xa^9=X0h5@)EnOGY(Age8J&$ z9LAWKf=8@$69euqd2Tw*Z8R`Bet2YLWbF4Ty5!-Gv_w3LR)dMDp0Aj`flW`FI4yLP z!;I08&N}HkAcJnJ{Z5a))tU149b-0AVKX&$hGdU3JA*fy;-qW&n!_78ETJ%Tg2ODu znx$E1O6y5xXDaMWjkRBNAAG~?EZ(fkZtyLK*&O!U4Nh^GqgZn^Yp%4OW;R!0b2XN} zYN^3@%;xcCYoe*a84hpau${ut_Z;Rc)_lzxl-9G%1{F4_v9l%n1GBSvv*|8s@FRye zkA@w!F5F~QJ zV77!e>$DsE#o=unp0gYL&0(oxE!C`L(t45EGKDSE*mBAK!)!Tkwmg;^baQw+htE?O zy2RlE#kxSVR!Hk*W-Ao7LSq+7wujk;yxEjEYVa?IcW_ujVdx5nm5Q}evo4a>US=05 z>>`b=l58KdRlHf3-JqYt#T@qA4F))@R;<;UwMJS8nXOUS8jY=$>=3iHyxAHLH5lgb zP7d2C42^KOM6oW>taZ{#q5RjQPGRdbwqCNxY&~x_-AfG&4jVYE_2T`ZC=MGHYolgu zl2!+^O$ytju}dXuGP`uFK|D2Za=2_X?5K@L)7YDcxl!&cfC5_Be9XDnuqu3*U{(9j k?K