summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2024-04-24 09:37:35 +0200
committerCaolán McNamara <caolan.mcnamara@collabora.com>2024-08-24 16:46:55 +0200
commitae755f9d85b2716cf9051d40609866e6ef5777e5 (patch)
treec0f2173f3cde65525cb437616a1002fb563d0ab3
parent0cf325d41996444c33a4d9d3b7d37d05ef9a398c (diff)
sc: fix crash in ScColumn::SetEditText()
Crashreport: > SIG Fatal signal received: SIGSEGV code: 128 for address: 0x0 > program/libsclo.so > ScColumn::SetEditText(int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > sc/source/core/data/column3.cxx:2362 > program/libsclo.so > ScTable::SetEditText(short, int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > ScDocument::SetEditText(ScAddress const&, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > ScDocFunc::SetEditCell(ScAddress const&, EditTextObject const&, bool) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > (anonymous namespace)::finalizeFormulaProcessing(std::shared_ptr<(anonymous namespace)::FormulaProcessingContext>) > sc/source/ui/view/viewfunc.cxx:565 Change-Id: I331ca8784702fdcb0ebad6a0a73390dbe2615ece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166577 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 1f9f5e67a436d3bf2add9c28b09e34743dcac552) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172352
-rw-r--r--sc/source/core/data/column3.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx
index 2ef0f9aee3df..3d13c04f41b3 100644
--- a/sc/source/core/data/column3.cxx
+++ b/sc/source/core/data/column3.cxx
@@ -2356,6 +2356,11 @@ bool ScColumn::SetString( SCROW nRow, SCTAB nTabP, const OUString& rString,
void ScColumn::SetEditText( SCROW nRow, std::unique_ptr<EditTextObject> pEditText )
{
+ if (!pEditText)
+ {
+ return;
+ }
+
pEditText->NormalizeString(GetDoc().GetSharedStringPool());
std::vector<SCROW> aNewSharedRows;
sc::CellStoreType::iterator it = GetPositionToInsert(nRow, aNewSharedRows, false);