summaryrefslogtreecommitdiff
path: root/emfio
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-10-25 09:59:58 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-10-25 16:37:20 +0200
commit6ff4688b36bd6ff1273cfc20639df1b1cddd4bb2 (patch)
tree573cfde78fcf21c1d7c37d9f97b939da8535c014 /emfio
parent35bb14d8573d29d836a6ff8d64b06fa820e50d11 (diff)
ofz#3776 Divide-by-zero
Change-Id: I2de2bfd6165a53d05e9f222908f6764a608004c3 Reviewed-on: https://gerrit.libreoffice.org/43813 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'emfio')
-rw-r--r--emfio/source/reader/emfreader.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/emfio/source/reader/emfreader.cxx b/emfio/source/reader/emfreader.cxx
index 7411efc56b3b..859c3510b759 100644
--- a/emfio/source/reader/emfreader.cxx
+++ b/emfio/source/reader/emfreader.cxx
@@ -745,7 +745,10 @@ namespace emfio
case EMR_SCALEWINDOWEXTEX :
{
mpInputStream->ReadUInt32( nNom1 ).ReadUInt32( nDen1 ).ReadUInt32( nNom2 ).ReadUInt32( nDen2 );
- ScaleWinExt( (double)nNom1 / nDen1, (double)nNom2 / nDen2 );
+ if (nDen1 != 0 && nDen2 != 0)
+ ScaleWinExt( (double)nNom1 / nDen1, (double)nNom2 / nDen2 );
+ else
+ SAL_WARN("vcl.emf", "ignoring bogus divide by zero");
}
break;
@@ -759,7 +762,10 @@ namespace emfio
case EMR_SCALEVIEWPORTEXTEX :
{
mpInputStream->ReadUInt32( nNom1 ).ReadUInt32( nDen1 ).ReadUInt32( nNom2 ).ReadUInt32( nDen2 );
- ScaleDevExt( (double)nNom1 / nDen1, (double)nNom2 / nDen2 );
+ if (nDen1 != 0 && nDen2 != 0)
+ ScaleDevExt( (double)nNom1 / nDen1, (double)nNom2 / nDen2 );
+ else
+ SAL_WARN("vcl.emf", "ignoring bogus divide by zero");
}
break;