summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2023-10-26 16:16:04 +0200
committerMiklos Vajna <vmiklos@collabora.com>2023-10-27 08:05:27 +0200
commit8ad82fc115a337604c064d37adfffcc81440248e (patch)
treeecbe2f5502d6ef54eda87a59ef2618c0b4ecea4a /writerfilter
parent39fcc32376bcafde8b1e582cbb5e8f23fed868ce (diff)
sw floattable: fix nullptr deref in TableManager::endLevel()
This is never an empty reference in the interesting use-case, so just make sure we don't crash. Reported to be a regression from 2d43c34333076fad092f0cdc0f60f81580acdbee (Related: tdf#55160 sw floattable, nested DOCX imp: fix inner tbl at cell start, 2023-09-15). See <https://crashreport.libreoffice.org/stats/signature/writerfilter::dmapper::TableManager::endLevel()>, e.g. <https://crashreport.libreoffice.org/stats/crash_details/84c2a273-49a3-4e62-9cfe-5cd620767749>. Change-Id: I4cd9c35ae3813a67d13d9b9e60f0dd6058f510c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158508 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/TableManager.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/writerfilter/source/dmapper/TableManager.cxx b/writerfilter/source/dmapper/TableManager.cxx
index d0f90bd20729..5554a93d9fcf 100644
--- a/writerfilter/source/dmapper/TableManager.cxx
+++ b/writerfilter/source/dmapper/TableManager.cxx
@@ -444,7 +444,10 @@ void TableManager::endLevel()
{
xCursor = xCellStart->getText()->createTextCursorByRange(
xCellStart->getStart());
- xCursor->goLeft(1, false);
+ if (xCursor.is())
+ {
+ xCursor->goLeft(1, false);
+ }
}
catch (const uno::RuntimeException&)
{