From d6bf6c5851d19ee5f45ca18fc14ce85df6dc331d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Tue, 24 Oct 2017 11:35:10 +0100 Subject: ofz#3743 Divide-by-zero MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I6cdc8b4c852a126c8740fc23c10f9360d8caf1a5 Reviewed-on: https://gerrit.libreoffice.org/43752 Tested-by: Jenkins Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- emfio/source/reader/mtftools.cxx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'emfio/source') diff --git a/emfio/source/reader/mtftools.cxx b/emfio/source/reader/mtftools.cxx index 7f8d477c7b22..96558d882ca4 100644 --- a/emfio/source/reader/mtftools.cxx +++ b/emfio/source/reader/mtftools.cxx @@ -478,12 +478,20 @@ namespace emfio break; default : { - fWidth /= mnWinExtX; - fHeight /= mnWinExtY; - fWidth *= mnDevWidth; - fHeight *= mnDevHeight; - fWidth *= (double)mnMillX * 100 / (double)mnPixX; - fHeight *= (double)mnMillY * 100 / (double)mnPixY; + if (mnPixX == 0 || mnPixY == 0) + { + SAL_WARN("vcl.emf", "invalid scaling factor"); + return Size(); + } + else + { + fWidth /= mnWinExtX; + fHeight /= mnWinExtY; + fWidth *= mnDevWidth; + fHeight *= mnDevHeight; + fWidth *= (double)mnMillX * 100.0 / (double)mnPixX; + fHeight *= (double)mnMillY * 100.0 / (double)mnPixY; + } } break; } -- cgit