lotuswordpro/source/filter/lwptablelayout.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
New commits: commit ca3c3ac4bb100ac195e205f6ebfe6756d8a41174 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Mar 1 10:17:00 2018 +0000 ofz: infinite loop Change-Id: I2c0ac101ccdd3f5359a885d976275fa6e63a3f67 Reviewed-on: https://gerrit.libreoffice.org/50558 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/lotuswordpro/source/filter/lwptablelayout.cxx b/lotuswordpro/source/filter/lwptablelayout.cxx index 33a7b412efa7..f12203db0c60 100644 --- a/lotuswordpro/source/filter/lwptablelayout.cxx +++ b/lotuswordpro/source/filter/lwptablelayout.cxx @@ -1107,14 +1107,18 @@ void LwpTableLayout::PutCellVals(LwpFoundry* pFoundry, LwpObjectID aTableID) LwpTableRange* pTableRange = pHolder ? dynamic_cast<LwpTableRange*>(pHolder->GetHeadID().obj().get()) : nullptr; //Look up the table - while (nullptr!=pTableRange) + std::set<LwpTableRange*> aTableSeen; + while (pTableRange) { + aTableSeen.insert(pTableRange); LwpObjectID aID = pTableRange->GetTableID(); if (aID == aTableID) { break; } pTableRange = pTableRange->GetNext(); + if (aTableSeen.find(pTableRange) != aTableSeen.end()) + throw std::runtime_error("loop in conversion"); } if (!pTableRange) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits