diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-11-02 09:39:03 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-11-02 18:07:20 +0100 |
commit | ef188d80d25c7bd1ae0566d703c35531c4228333 (patch) | |
tree | f786717606af8cc185849e81cbad6e3ca89c794d /filter | |
parent | f3ae7fc962915d6d7b6a4ab16120dd844f9c92a4 (diff) |
Divide-by-zero
Change-Id: Ieb94b1ff71fb70f38d8bf8a1b9f62edbc3cfb867
Reviewed-on: https://gerrit.libreoffice.org/44198
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 'filter')
-rw-r--r-- | filter/source/graphicfilter/icgm/class4.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/filter/source/graphicfilter/icgm/class4.cxx b/filter/source/graphicfilter/icgm/class4.cxx index 659eba8d43ad..0185f699014c 100644 --- a/filter/source/graphicfilter/icgm/class4.cxx +++ b/filter/source/graphicfilter/icgm/class4.cxx @@ -619,8 +619,10 @@ void CGM::ImplDoClass4() bool bDirection = ImplGetEllipse( aCenter, aRadius, fOrientation ); ImplGetVector( &vector[ 0 ] ); - fStartAngle = acos( vector[ 0 ] / sqrt( vector[ 0 ] * vector[ 0 ] + vector[ 1 ] * vector[ 1 ] ) ) * 57.29577951308; - fEndAngle = acos( vector[ 2 ] / sqrt( vector[ 2 ] * vector[ 2 ] + vector[ 3 ] * vector[ 3 ] ) ) * 57.29577951308; + double fStartSqrt = sqrt(vector[0] * vector[0] + vector[1] * vector[1]); + fStartAngle = fStartSqrt ? (acos(vector[0] / fStartSqrt) * 57.29577951308) : 0.0; + double fEndSqrt = sqrt(vector[2] * vector[2] + vector[3] * vector[3]); + fEndAngle = fEndSqrt ? (acos(vector[2] / fEndSqrt) * 57.29577951308) : 0.0; if ( vector[ 1 ] > 0 ) fStartAngle = 360 - fStartAngle; |