[Libreoffice-commits] core.git: sw/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sat May 30 13:39:47 UTC 2020


 sw/source/filter/xml/xmlmeta.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit cac4d3b9c2790cfa6575f55aa4052efe88779056
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri May 29 20:38:54 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sat May 30 15:39:09 2020 +0200

    ofz#22775 Integer-overflow
    
    Change-Id: I616350ce96e83f92beac711a59077815ff00fe50
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95172
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/filter/xml/xmlmeta.cxx b/sw/source/filter/xml/xmlmeta.cxx
index 10079d9f64ef..423bb25805a1 100644
--- a/sw/source/filter/xml/xmlmeta.cxx
+++ b/sw/source/filter/xml/xmlmeta.cxx
@@ -143,6 +143,7 @@ void SwXMLImport::SetStatistics(
     // and autostyles.
     bool bSetFallback = true;
     sal_Int32 nProgressReference = sal_Int32(); // silence C4701
+    const sal_Int32 nProgressReferenceWriggleRoom = 3 * PROGRESS_BAR_STEP;
     if (nTokens & XML_TOK_META_STAT_PARA)
     {
         nProgressReference = static_cast<sal_Int32>(aDocStat.nPara);
@@ -150,10 +151,12 @@ void SwXMLImport::SetStatistics(
     }
     else if (nTokens & XML_TOK_META_STAT_PAGE)
         bSetFallback = o3tl::checked_multiply<sal_Int32>(aDocStat.nPage, 10, nProgressReference);
+    if (!bSetFallback)
+        bSetFallback = o3tl::checked_add(nProgressReference, nProgressReferenceWriggleRoom, nProgressReference);
     if (bSetFallback)
-        nProgressReference = 250;
+        nProgressReference = 250 + nProgressReferenceWriggleRoom;
     ProgressBarHelper* pProgress = GetProgressBarHelper();
-    pProgress->SetReference( nProgressReference + 3*PROGRESS_BAR_STEP );
+    pProgress->SetReference(nProgressReference);
     pProgress->SetValue( 0 );
 }
 


More information about the Libreoffice-commits mailing list