summaryrefslogtreecommitdiff
path: root/sc/source/filter/excel
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-10-30 09:24:07 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-10-30 09:34:12 +0000
commitf089b4fbc800452111e1b5be534e3fc00975cc54 (patch)
tree6c26c01982f4784f060daa4ead94f2876aeed06a /sc/source/filter/excel
parentcdbfbd0f7c3ed3bd3235f97197d279c41913245b (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.cxx12
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