[Libreoffice-commits] core.git: accessibility/inc cui/source sc/source sd/source sw/source
Caolán McNamara
caolanm at redhat.com
Mon Mar 19 20:19:43 UTC 2018
accessibility/inc/helper/listboxhelper.hxx | 4 +++-
cui/source/tabpages/grfpage.cxx | 1 +
sc/source/core/data/drwlayer.cxx | 8 ++++++--
sc/source/ui/StatisticsDialogs/SamplingDialog.cxx | 1 +
sc/source/ui/view/drawvie4.cxx | 8 ++++++--
sd/source/ui/dlg/vectdlg.cxx | 2 ++
sw/source/ui/dbui/mmoutputtypepage.cxx | 5 ++++-
sw/source/ui/misc/pggrid.cxx | 4 +++-
8 files changed, 26 insertions(+), 7 deletions(-)
New commits:
commit cce17de6e7736341056604fc391c78295b097a7d
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Mar 19 15:07:09 2018 +0000
coverity#1430077 add assert for 'Division or modulo by zero'
and
coverity#1430076 Division or modulo by zero
coverity#1430078 Division or modulo by float zero
coverity#1430082 Division or modulo by float zero
coverity#1430083 Division or modulo by zero
coverity#1430085 Division or modulo by zero
coverity#1430102 Division or modulo by zero
coverity#1430103 Division or modulo by zero
Change-Id: I9d7190f95d19a755c681f1f897a8921105ef7c46
Reviewed-on: https://gerrit.libreoffice.org/51568
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/accessibility/inc/helper/listboxhelper.hxx b/accessibility/inc/helper/listboxhelper.hxx
index 346fdf6a9ecb..0aa01abb21e5 100644
--- a/accessibility/inc/helper/listboxhelper.hxx
+++ b/accessibility/inc/helper/listboxhelper.hxx
@@ -65,7 +65,9 @@ public:
{
tools::Rectangle aTemp = m_aComboListBox.GetDropDownPosSizePixel();
Size aSize = aTemp.GetSize();
- aSize.setHeight( aSize.Height() / m_aComboListBox.GetDisplayLineCount() );
+ sal_uInt16 nLineCount = m_aComboListBox.GetDisplayLineCount();
+ assert(nLineCount && "div-by-zero");
+ aSize.setHeight( aSize.Height() / nLineCount );
Point aTopLeft = aTemp.TopLeft();
aTopLeft.AdjustY( aSize.Height() * ( nItem - m_aComboListBox.GetTopEntry() ) );
aRect = tools::Rectangle( aTopLeft, aSize );
diff --git a/cui/source/tabpages/grfpage.cxx b/cui/source/tabpages/grfpage.cxx
index c2ecb7e0d912..1546ed77e5f9 100644
--- a/cui/source/tabpages/grfpage.cxx
+++ b/cui/source/tabpages/grfpage.cxx
@@ -529,6 +529,7 @@ IMPL_LINK( SvxGrfCropPage, CropHdl, SpinField&, rField, void )
if(bZoom && ( ( ( aOrigSize.Height() - (nTop + nBottom )) * nHeightZoom)
/ 100 >= aPageSize.Height()))
{
+ assert(nHeightZoom && "div-by-zero");
if(&rField == m_pTopMF)
{
nTop = aOrigSize.Height() -
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index a239079e28b0..c0bdcde30314 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -678,10 +678,14 @@ void ScDrawLayer::ResizeLastRectFromAnchor(const SdrObject* pObj, ScDrawObjData&
tools::Rectangle aRectIncludingOffset = aRect;
aRectIncludingOffset.setWidth(aRect.GetWidth() + rData.maStartOffset.X());
aRectIncludingOffset.setHeight(aRect.GetHeight() + rData.maStartOffset.Y());
+ long nWidth = aRectIncludingOffset.GetWidth();
+ assert(nWidth && "div-by-zero");
double fMaxWidthFactor = static_cast<double>(aCurrentCellRect.GetWidth())
- / static_cast<double>(aRectIncludingOffset.GetWidth());
+ / static_cast<double>(nWidth);
+ long nHeight = aRectIncludingOffset.GetHeight();
+ assert(nHeight && "div-by-zero");
double fMaxHeightFactor = static_cast<double>(aCurrentCellRect.GetHeight())
- / static_cast<double>(aRectIncludingOffset.GetHeight());
+ / static_cast<double>(nHeight);
double fMaxFactor = std::min(fMaxHeightFactor, fMaxWidthFactor);
if (bIsGrowingLarger) // cell is growing larger
diff --git a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
index 42887148cf8d..46a317b22627 100644
--- a/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
+++ b/sc/source/ui/StatisticsDialogs/SamplingDialog.cxx
@@ -201,6 +201,7 @@ ScRange ScSamplingDialog::PerformPeriodicSampling(ScDocShell* pDocShell)
outRow = mOutputAddress.Row();
for (SCROW inRow = aStart.Row(); inRow <= aEnd.Row(); inRow++)
{
+ assert(aPeriod && "div-by-zero");
if (i % aPeriod == aPeriod - 1 ) // Sample the last of period
{
double aValue = mDocument->GetValue(ScAddress(inCol, inRow, inTab));
diff --git a/sc/source/ui/view/drawvie4.cxx b/sc/source/ui/view/drawvie4.cxx
index 2571d95f6bfe..4097186358a9 100644
--- a/sc/source/ui/view/drawvie4.cxx
+++ b/sc/source/ui/view/drawvie4.cxx
@@ -558,8 +558,12 @@ void ScDrawView::FitToCellSize()
// For graphic objects, we want to keep the aspect ratio
if (pObj->shouldKeepAspectRatio())
{
- double fScaleX = static_cast<double>(aCellRect.GetWidth()) / static_cast<double>(aGraphicRect.GetWidth());
- double fScaleY = static_cast<double>(aCellRect.GetHeight()) / static_cast<double>(aGraphicRect.GetHeight());
+ long nWidth = aGraphicRect.GetWidth();
+ assert(nWidth && "div-by-zero");
+ double fScaleX = static_cast<double>(aCellRect.GetWidth()) / static_cast<double>(nWidth);
+ long nHeight = aGraphicRect.GetHeight();
+ assert(nHeight && "div-by-zero");
+ double fScaleY = static_cast<double>(aCellRect.GetHeight()) / static_cast<double>(nHeight);
double fScaleMin = std::min(fScaleX, fScaleY);
aCellRect.setWidth(static_cast<double>(aGraphicRect.GetWidth()) * fScaleMin);
diff --git a/sd/source/ui/dlg/vectdlg.cxx b/sd/source/ui/dlg/vectdlg.cxx
index d0baacc0e926..d1a153493abf 100644
--- a/sd/source/ui/dlg/vectdlg.cxx
+++ b/sd/source/ui/dlg/vectdlg.cxx
@@ -172,7 +172,9 @@ void SdVectorizeDlg::Calculate( Bitmap const & rBmp, GDIMetaFile& rMtf )
const long nHeight = pRAcc->Height();
const long nTileX = static_cast<long>(m_pMtFillHoles->GetValue());
const long nTileY = static_cast<long>(m_pMtFillHoles->GetValue());
+ assert(nTileX && "div-by-zero");
const long nCountX = nWidth / nTileX;
+ assert(nTileY && "div-by-zero");
const long nCountY = nHeight / nTileY;
const long nRestX = nWidth % nTileX;
const long nRestY = nHeight % nTileY;
diff --git a/sw/source/ui/dbui/mmoutputtypepage.cxx b/sw/source/ui/dbui/mmoutputtypepage.cxx
index ed7fcba2d4df..0725959da127 100644
--- a/sw/source/ui/dbui/mmoutputtypepage.cxx
+++ b/sw/source/ui/dbui/mmoutputtypepage.cxx
@@ -573,8 +573,11 @@ void SwSendMailDialog::UpdateTransferStatus()
sStatus = m_sErrorStatus.replaceFirst("%1", OUString::number(m_nErrorCount) );
m_pErrorStatus->SetText(sStatus);
- if(m_pImpl->aDescriptors.size())
+ if (m_pImpl->aDescriptors.size())
+ {
+ assert(m_nExpectedCount && "div-by-zero");
m_pProgressBar->SetValue(static_cast<sal_uInt16>(m_nSendCount * 100 / m_nExpectedCount));
+ }
else
m_pProgressBar->SetValue(0);
}
diff --git a/sw/source/ui/misc/pggrid.cxx b/sw/source/ui/misc/pggrid.cxx
index 2ec697256232..df3717390434 100644
--- a/sw/source/ui/misc/pggrid.cxx
+++ b/sw/source/ui/misc/pggrid.cxx
@@ -417,7 +417,9 @@ IMPL_LINK(SwTextGridPage, CharorLineChangedHdl, SpinField&, rField, void)
}
else if (m_pCharsPerLineNF == &rField)
{
- long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / m_pCharsPerLineNF->GetValue());
+ auto nValue = m_pCharsPerLineNF->GetValue();
+ assert(nValue && "div-by-zero");
+ long nWidth = static_cast< sal_Int32 >(m_aPageSize.Width() / nValue);
m_pCharWidthMF->SetValue(m_pCharWidthMF->Normalize(nWidth), FUNIT_TWIP);
SetLinesOrCharsRanges( *m_pCharsRangeFT , m_pCharsPerLineNF->GetMax() );
}
More information about the Libreoffice-commits
mailing list