[Libreoffice-commits] core.git: svx/source
Caolán McNamara
caolanm at redhat.com
Mon Nov 6 21:27:44 UTC 2017
svx/source/table/tablelayouter.cxx | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
New commits:
commit 133cc249c7a4881b5d53c06c1b660d3bf2cc03f7
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Nov 6 09:00:18 2017 +0000
ofz#4072 Integer-overflow
Change-Id: Ib94d4021be86e93e6ed0e836fbab0d8d0ca6f738
Reviewed-on: https://gerrit.libreoffice.org/44346
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/svx/source/table/tablelayouter.cxx b/svx/source/table/tablelayouter.cxx
index 4eedf944b1bd..ea60278755d7 100644
--- a/svx/source/table/tablelayouter.cxx
+++ b/svx/source/table/tablelayouter.cxx
@@ -441,13 +441,17 @@ sal_Int32 TableLayouter::distribute( LayoutVector& rLayouts, sal_Int32 nDistribu
do
{
+ bConstrainsBroken = false;
+
// first enforce minimum size constrains on all entities
for( nIndex = 0; nIndex < nCount; ++nIndex )
{
Layout& rLayout = rLayouts[nIndex];
if( rLayout.mnSize < rLayout.mnMinSize )
{
- nDistribute -= rLayout.mnMinSize - rLayout.mnSize;
+ sal_Int32 nDiff(0);
+ bConstrainsBroken |= o3tl::checked_sub(rLayout.mnMinSize, rLayout.mnSize, nDiff);
+ nDistribute -= nDiff;
rLayout.mnSize = rLayout.mnMinSize;
}
}
@@ -463,8 +467,6 @@ sal_Int32 TableLayouter::distribute( LayoutVector& rLayouts, sal_Int32 nDistribu
nCurrentWidth = o3tl::saturating_add(nCurrentWidth, rLayout.mnSize);
}
- bConstrainsBroken = false;
-
// now distribute over entities
if( (nCurrentWidth != 0) && (nDistribute != 0) )
{
More information about the Libreoffice-commits
mailing list