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

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Fri Aug 17 09:29:48 UTC 2018


 lotuswordpro/source/filter/lwpdoc.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit c05692cbcdcc820bb98b53af6dca09d13c804c00
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Aug 17 09:15:02 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Aug 17 11:29:24 2018 +0200

    ofz: infinite loop
    
    Change-Id: Ie42e73ebe02cd4c2bb10c9d0e55a5256b1fffd15
    Reviewed-on: https://gerrit.libreoffice.org/59248
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/lotuswordpro/source/filter/lwpdoc.cxx b/lotuswordpro/source/filter/lwpdoc.cxx
index 77dae05e68dc..a5ef2a7f4203 100644
--- a/lotuswordpro/source/filter/lwpdoc.cxx
+++ b/lotuswordpro/source/filter/lwpdoc.cxx
@@ -651,13 +651,16 @@ LwpDocument* LwpDocument::GetLastDivisionWithContents()
         return this;
 
     LwpDocument* pDivision = GetFirstDivision();
-
+    std::set<LwpDocument*> aSeen;
     while (pDivision)
     {
+        aSeen.insert(pDivision);
         LwpDocument* pContentDivision = pDivision->GetFirstDivisionWithContentsThatIsNotOLE();
-        if(pContentDivision)
+        if (pContentDivision)
             return pContentDivision;
         pDivision = pDivision->GetNextDivision();
+        if (aSeen.find(pDivision) != aSeen.end())
+            throw std::runtime_error("loop in conversion");
     }
     return nullptr;
 }


More information about the Libreoffice-commits mailing list