summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authornd101 <Fong@nd.com.cn>2020-03-25 13:43:32 +0800
committerXisco Faulí <xiscofauli@libreoffice.org>2020-03-25 21:28:08 +0100
commit3142872bcba19b6c4d60b464fc9b14293860348d (patch)
tree7035e1c5389c5cb14c460a339e338e642c556d64 /oox
parent3dfba081a2b495fae8f069863764638b1248fead (diff)
tdf#131553 a null pointer crashes Impress
When constructing a shape object from property EmbeddedObject, it may return null object. Check the returned value first. Change-Id: I9d7a2d9c0c919007ae2a34a0af86dea5639b1bd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91024 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit df1be683ab935fe5362750360508ba69eb415afb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90959 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'oox')
-rw-r--r--oox/source/drawingml/shape.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index f1da411ec4af..cce8b9ba7bbc 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -944,11 +944,14 @@ Reference< XShape > const & Shape::createAndInsert(
xSet->setPropertyValue("CLSID", uno::makeAny(name.GetHexName()));
uno::Reference<embed::XEmbeddedObject> const xObj(
xSet->getPropertyValue("EmbeddedObject"), uno::UNO_QUERY);
- uno::Reference<uno::XInterface> const xMathModel(xObj->getComponent());
- oox::FormulaImportBase *const pMagic(
- dynamic_cast<oox::FormulaImportBase*>(xMathModel.get()));
- assert(pMagic);
- pMagic->readFormulaOoxml(*pMathXml);
+ if (xObj.is())
+ {
+ uno::Reference<uno::XInterface> const xMathModel(xObj->getComponent());
+ oox::FormulaImportBase *const pMagic(
+ dynamic_cast<oox::FormulaImportBase*>(xMathModel.get()));
+ assert(pMagic);
+ pMagic->readFormulaOoxml(*pMathXml);
+ }
}
const GraphicHelper& rGraphicHelper = rFilterBase.getGraphicHelper();