sc/source/core/data/document.cxx |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 6e916f361455807be495495822b2e42a11760132
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Thu Feb 8 11:53:43 2024 +0000
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Fri Feb 9 12:37:34 2024 +0100

    calc null-deref
    
    probably seen after a sheet was deleted
    
    /lib/x86_64-linux-gnu/libc.so.6(+0x42520)[0x7f259a642520]
    
/opt/collaboraoffice/program/../program/libsclo.so(+0x5b3db8)[0x7f25873b3db8]
    
/opt/collaboraoffice/program/../program/libsclo.so(+0x4964a1)[0x7f25872964a1]
    
    this looks most likely:
    
    00000000005b3db0  ScTable::ContainsNotesInRange(ScRange const&) const
    0000000000496440  ScDocument::ContainsNotesInRange(ScRangeList const&) const
    
    Change-Id: Ib019fe8abc18538eee7096e1fe5589e83e4849da
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163135
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 9b5feb687cb0..541934225036 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -6901,6 +6901,8 @@ void ScDocument::GetNotesInRange( const ScRangeList& 
rRangeList, std::vector<sc:
         const ScRange & rRange = rRangeList[i];
         for( SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); 
++nTab )
         {
+            if (!maTabs[nTab])
+                continue;
             maTabs[nTab]->GetNotesInRange( rRange, rNotes );
         }
     }
@@ -6919,6 +6921,8 @@ bool ScDocument::ContainsNotesInRange( const ScRangeList& 
rRangeList ) const
         const ScRange & rRange = rRangeList[i];
         for( SCTAB nTab = rRange.aStart.Tab(); nTab <= rRange.aEnd.Tab(); 
++nTab )
         {
+            if (!maTabs[nTab])
+                continue;
             bool bContainsNote = maTabs[nTab]->ContainsNotesInRange( rRange );
             if(bContainsNote)
                 return true;

Reply via email to