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 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; }