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

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Mon Sep 20 10:36:44 UTC 2021


 sw/source/filter/html/swhtml.cxx |   16 +++++++++++++---
 sw/source/filter/html/swhtml.hxx |    1 +
 2 files changed, 14 insertions(+), 3 deletions(-)

New commits:
commit 1a6401578ec32510342e232699889527cca914b8
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Sep 20 10:24:27 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Sep 20 12:36:11 2021 +0200

    ofz: avoid Timeout
    
    Change-Id: I941a5b9b930248236f35b31582ee8f2c9e0be16e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122348
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 053a3c4177e4..df8abc1e65d9 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -315,6 +315,7 @@ SwHTMLParser::SwHTMLParser( SwDoc* pD, SwPaM& rCursor, SvStream& rIn,
     m_isInTableStructure(false),
     m_nTableDepth( 0 ),
     m_nFloatingFrames( 0 ),
+    m_nListItems( 0 ),
     m_pTempViewFrame(nullptr)
 {
     // If requested explicitly, then force ignoring of comments (don't create postits for them).
@@ -1827,10 +1828,19 @@ void SwHTMLParser::NextToken( HtmlTokenId nToken )
             EndPara();
         }
 
-        EndNumberBulletListItem( HtmlTokenId::NONE, false );// close <LI>/<LH> and don't set a template
-        NewNumberBulletListItem( nToken );
-        break;
+        if (m_bFuzzing && m_nListItems > 1024)
+        {
+            SAL_WARN("sw.html", "skipping remaining bullet import for performance during fuzzing");
+        }
+        else
+        {
+            EndNumberBulletListItem( HtmlTokenId::NONE, false );// close <LI>/<LH> and don't set a template
+            NewNumberBulletListItem( nToken );
+        }
 
+        ++m_nListItems;
+
+        break;
     case HtmlTokenId::LI_OFF:
     case HtmlTokenId::LISTHEADER_OFF:
         EndNumberBulletListItem( nToken, false );
diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx
index d4f65b2616a2..6ed83640bad5 100644
--- a/sw/source/filter/html/swhtml.hxx
+++ b/sw/source/filter/html/swhtml.hxx
@@ -474,6 +474,7 @@ class SwHTMLParser : public SfxHTMLParser, public SvtListener
 
     int m_nTableDepth;
     int m_nFloatingFrames;
+    int m_nListItems;
 
     /// the names corresponding to the DOCINFO field subtypes INFO[1-4]
     OUString m_InfoNames[4];


More information about the Libreoffice-commits mailing list