svx/source/table/tablelayouter.cxx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
New commits: commit 133cc249c7a4881b5d53c06c1b660d3bf2cc03f7 Author: Caolán McNamara <caol...@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 <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@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) ) {
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits