diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2022-06-15 15:52:18 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-06-15 20:14:35 +0200 |
commit | 2859ec288f2c1323ea3123d82cb1684b349ff598 (patch) | |
tree | 752cfa3fc487f7197ef57f28ff56d91af083a657 /oox | |
parent | 6b6bedecf61e084e8db6b20a362a231dbac0e70a (diff) |
oox: fix div by zero in lclCalculateCropPercentage()
Similar to what oox::vml::ShapeType::getAbsRectangle() already does.
Crashreport signature:
Fatal signal received: SIGFPE code: 1 for address: 0x7fcd55eeff59
program/libooxlo.so
oox::drawingml::GraphicProperties::pushToPropMap(oox::PropertyMap&, oox::GraphicHelper const&, bool, bool) const
oox/source/drawingml/fillproperties.cxx:103
Change-Id: I0f82cbc955d9e60bad103682638b07153a5589e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135910
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/drawingml/fillproperties.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/oox/source/drawingml/fillproperties.cxx b/oox/source/drawingml/fillproperties.cxx index 98b9e2f93e73..7d6c41a81fc6 100644 --- a/oox/source/drawingml/fillproperties.cxx +++ b/oox/source/drawingml/fillproperties.cxx @@ -99,7 +99,15 @@ void lclCalculateCropPercentage(uno::Reference<graphic::XGraphic> const & xGraph sal_Int32 nScaledHeight = aBitmapEx.GetSizePixel().Height(); sal_Int32 nOrigWidth = (nScaledWidth * (100000 - aFillRect.X1 - aFillRect.X2)) / 100000; + if (nOrigWidth == 0) + { + nOrigWidth = 1; + } sal_Int32 nOrigHeight = (nScaledHeight * (100000 - aFillRect.Y1 - aFillRect.Y2)) / 100000; + if (nOrigHeight == 0) + { + nOrigHeight = 1; + } sal_Int32 nLeftPercentage = nScaledWidth * aFillRect.X1 / nOrigWidth; sal_Int32 nRightPercentage = nScaledWidth * aFillRect.X2 / nOrigWidth; |