editeng/source/editeng/impedit5.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
New commits: commit a30dbb6bd9577fdfd22f5b2eb017e8ecec9b8481 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Fri Aug 25 14:22:43 2023 +0200 Commit: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> CommitDate: Wed Aug 30 15:47:44 2023 +0200 editeng: fix crash in EditDoc::FindAttribs check pNode before calling EditDoc::FindAttribs. This is the only place where EditDoc::FindAttribs is called from See https://crashreport.libreoffice.org/stats/signature/EditDoc::FindAttribs(ContentNode%20*,long,long,SfxItemSet%20&) Change-Id: I3ed0724b1113965c09c66413987bb85777ec9a16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156097 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> (cherry picked from commit 8bb505d3e16deed2c7bb5636cfd765013ec23965) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156131 Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com> diff --git a/editeng/source/editeng/impedit5.cxx b/editeng/source/editeng/impedit5.cxx index 9a02ca4c4557..92b4d7afffe8 100644 --- a/editeng/source/editeng/impedit5.cxx +++ b/editeng/source/editeng/impedit5.cxx @@ -316,7 +316,7 @@ SfxItemSet ImpEditEngine::GetAttribs( EditSelection aSel, EditEngineAttribs nOnl for ( sal_Int32 nNode = nStartNode; nNode <= nEndNode; nNode++ ) { ContentNode* pNode = aEditDoc.GetObject( nNode ); - DBG_ASSERT( aEditDoc.GetObject( nNode ), "Node not found: GetAttrib" ); + assert( pNode && "Node not found: GetAttrib" ); const sal_Int32 nStartPos = nNode==nStartNode ? aSel.Min().GetIndex() : 0; const sal_Int32 nEndPos = nNode==nEndNode ? aSel.Max().GetIndex() : pNode->Len(); // Can also be == nStart! @@ -327,7 +327,8 @@ SfxItemSet ImpEditEngine::GetAttribs( EditSelection aSel, EditEngineAttribs nOnl // 2) Examine Style and paragraph attributes only when OFF... // First the very hard formatting... - EditDoc::FindAttribs( pNode, nStartPos, nEndPos, aCurSet ); + if (pNode) + EditDoc::FindAttribs( pNode, nStartPos, nEndPos, aCurSet ); if( nOnlyHardAttrib != EditEngineAttribs::OnlyHard ) {