sc/source/filter/html/htmlpars.cxx |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

New commits:
commit 9d1275974d23c520a706129807443ff909719e23
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Tue Mar 26 09:22:56 2024 +0000
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Tue Mar 26 15:38:45 2024 +0100

    ofz#67635 Integer-overflow
    
    Change-Id: Ia764276d6b35ea84d7415484eaeb9da77e55092a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165307
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/sc/source/filter/html/htmlpars.cxx 
b/sc/source/filter/html/htmlpars.cxx
index db8256d9e851..5bf4c4c07a83 100644
--- a/sc/source/filter/html/htmlpars.cxx
+++ b/sc/source/filter/html/htmlpars.cxx
@@ -705,13 +705,12 @@ void ScHTMLLayoutParser::Adjust()
         //FIXME: This may not be correct, but works anyway ...
             pE->nColOverlap = 1;
         }
-        xLockedList->Join( ScRange( pE->nCol, pE->nRow, 0,
-            pE->nCol + pE->nColOverlap - 1, pE->nRow + pE->nRowOverlap - 1, 0 
) );
+        SCCOL nColTmp = o3tl::saturating_add(pE->nCol, pE->nColOverlap);
+        SCROW nRowTmp = o3tl::saturating_add(pE->nRow ,pE->nRowOverlap);
+        xLockedList->Join( ScRange( pE->nCol, pE->nRow, 0, nColTmp - 1, 
nRowTmp - 1, 0 ) );
         // Take over MaxDimensions
-        SCCOL nColTmp = pE->nCol + pE->nColOverlap;
         if ( nColMax < nColTmp )
             nColMax = nColTmp;
-        SCROW nRowTmp = pE->nRow + pE->nRowOverlap;
         if ( nRowMax < nRowTmp )
             nRowMax = nRowTmp;
     }

Reply via email to