From c05692cbcdcc820bb98b53af6dca09d13c804c00 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 17 Aug 2018 09:15:02 +0100 Subject: ofz: infinite loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie42e73ebe02cd4c2bb10c9d0e55a5256b1fffd15 Reviewed-on: https://gerrit.libreoffice.org/59248 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- lotuswordpro/source/filter/lwpdoc.cxx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lotuswordpro') 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; } -- cgit