summaryrefslogtreecommitdiff
path: root/lotuswordpro
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-08-17 09:15:02 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-08-17 11:29:24 +0200
commitc05692cbcdcc820bb98b53af6dca09d13c804c00 (patch)
tree9e2d7d3b52364bf31e2a30cbdd55652b70d4683e /lotuswordpro
parentb83fac898a54196e2430fe7710f946b5217ee6f2 (diff)
ofz: infinite loop
Change-Id: Ie42e73ebe02cd4c2bb10c9d0e55a5256b1fffd15 Reviewed-on: https://gerrit.libreoffice.org/59248 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'lotuswordpro')
-rw-r--r--lotuswordpro/source/filter/lwpdoc.cxx7
1 files changed, 5 insertions, 2 deletions
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;
}