diff options
author | Caolán McNamara <caolanm@redhat.com> | 2014-10-30 09:24:07 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2014-10-30 09:34:12 +0000 |
commit | f089b4fbc800452111e1b5be534e3fc00975cc54 (patch) | |
tree | 6c26c01982f4784f060daa4ead94f2876aeed06a /sc/source/filter/excel | |
parent | cdbfbd0f7c3ed3bd3235f97197d279c41913245b (diff) |
coverity#735614 Division or modulo by float zero
or
coverity#735615 Division or modulo by float zero
Change-Id: I6509e987eaf58349e81b9ebadcd7e2d0ff0bcbcb
Diffstat (limited to 'sc/source/filter/excel')
-rw-r--r-- | sc/source/filter/excel/xichart.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sc/source/filter/excel/xichart.cxx b/sc/source/filter/excel/xichart.cxx index b40f61ae773c..6313fa533074 100644 --- a/sc/source/filter/excel/xichart.cxx +++ b/sc/source/filter/excel/xichart.cxx @@ -74,7 +74,7 @@ #include <com/sun/star/chart2/data/XDataReceiver.hpp> #include <com/sun/star/chart2/data/XDataSink.hpp> #include <com/sun/star/chart2/data/LabeledDataSequence.hpp> - +#include <o3tl/numeric.hxx> #include <o3tl/ptr_container.hxx> #include <sfx2/objsh.hxx> #include <svx/svdpage.hxx> @@ -325,12 +325,18 @@ sal_Int32 XclImpChRoot::CalcHmmFromChartY( sal_Int32 nPosY ) const double XclImpChRoot::CalcRelativeFromHmmX( sal_Int32 nPosX ) const { - return static_cast< double >( nPosX ) / mxChData->maChartRect.GetWidth(); + const long nWidth = mxChData->maChartRect.GetWidth(); + if (!nWidth) + throw o3tl::divide_by_zero(); + return static_cast<double>(nPosX) / nWidth; } double XclImpChRoot::CalcRelativeFromHmmY( sal_Int32 nPosY ) const { - return static_cast< double >( nPosY ) / mxChData->maChartRect.GetHeight(); + const long nHeight = mxChData->maChartRect.GetHeight(); + if (!nHeight) + throw o3tl::divide_by_zero(); + return static_cast<double >(nPosY) / nHeight; } double XclImpChRoot::CalcRelativeFromChartX( sal_Int32 nPosX ) const |