We try to avoid throwing ClassCastException, but it was possible to trigger one here with a specially crafted input-file Should fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62170 git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1912252 13f79535-47bb-0310-9956-ffa450edef68tags/REL_5_2_4
if(sp.length == 0) { | if(sp.length == 0) { | ||||
throw new IllegalStateException("CTGroupShape was not found"); | throw new IllegalStateException("CTGroupShape was not found"); | ||||
} | } | ||||
_spTree = (CTGroupShape)sp[0]; | |||||
XmlObject xmlObject = sp[0]; | |||||
if (!(xmlObject instanceof CTGroupShape)) { | |||||
throw new IllegalArgumentException("Had unexpected type of entry: " + xmlObject.getClass()); | |||||
} | |||||
_spTree = (CTGroupShape) xmlObject; | |||||
} | } | ||||
return _spTree; | return _spTree; | ||||
} | } |
*/ | */ | ||||
@Override | @Override | ||||
public XSLFBackground getBackground() { | public XSLFBackground getBackground() { | ||||
CTBackground bg = _slide.getCSld().getBg(); | |||||
if(bg != null) { | |||||
return new XSLFBackground(bg, this); | |||||
if(_slide.getCSld() != null && | |||||
_slide.getCSld().getBg() != null) { | |||||
return new XSLFBackground(_slide.getCSld().getBg(), this); | |||||
} else { | } else { | ||||
return getMasterSheet().getBackground(); | return getMasterSheet().getBackground(); | ||||
} | } |