diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2023-10-26 16:16:04 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2023-10-27 08:05:27 +0200 |
commit | 8ad82fc115a337604c064d37adfffcc81440248e (patch) | |
tree | ecbe2f5502d6ef54eda87a59ef2618c0b4ecea4a /writerfilter | |
parent | 39fcc32376bcafde8b1e582cbb5e8f23fed868ce (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.cxx | 5 |
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&) { |