editeng/source/editeng/impedit5.cxx |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

New commits:
commit 8bb505d3e16deed2c7bb5636cfd765013ec23965
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Aug 25 14:22:43 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat Aug 26 08:19:03 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>

diff --git a/editeng/source/editeng/impedit5.cxx 
b/editeng/source/editeng/impedit5.cxx
index afb1b424d907..1282111afc08 100644
--- a/editeng/source/editeng/impedit5.cxx
+++ b/editeng/source/editeng/impedit5.cxx
@@ -321,7 +321,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!
@@ -332,7 +332,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 )
         {

Reply via email to