sc/source/core/data/attarray.cxx |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

New commits:
commit ec6bf674349fe6bd33b7b01ff83b68c51d68f9c8
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Wed Feb 7 10:07:30 2024 +0000
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Thu Feb 8 15:14:32 2024 +0100

    cid#1559954 rearrange to silence Use after free
    
    try and reassure coverity
    
    Change-Id: I1be16526beaaf2a5c2d08965da6e2811b0e4043d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163086
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

diff --git a/sc/source/core/data/attarray.cxx b/sc/source/core/data/attarray.cxx
index e61d6cbfdea5..95ab55903220 100644
--- a/sc/source/core/data/attarray.cxx
+++ b/sc/source/core/data/attarray.cxx
@@ -2326,7 +2326,7 @@ void ScAttrArray::DeleteArea(SCROW nStartRow, SCROW 
nEndRow)
 void ScAttrArray::DeleteHardAttr(SCROW nStartRow, SCROW nEndRow)
 {
     SetDefaultIfNotInit();
-    const ScPatternAttr* 
pDefPattern(&rDocument.getCellAttributeHelper().getDefaultCellAttribute());
+    const CellAttributeHolder 
aDefHolder(&rDocument.getCellAttributeHelper().getDefaultCellAttribute());
 
     SCSIZE  nIndex;
     SCROW   nRow;
@@ -2351,10 +2351,10 @@ void ScAttrArray::DeleteHardAttr(SCROW nStartRow, SCROW 
nEndRow)
                 if (nId != ATTR_MERGE && nId != ATTR_MERGE_FLAG)
                     rSet.ClearItem(nId);
 
-            if ( *pNewPattern == *pDefPattern )
+            if ( *pNewPattern == *aDefHolder.getScPatternAttr() )
             {
                 delete pNewPattern;
-                SetPatternArea( nThisRow, nAttrRow, pDefPattern );
+                SetPatternArea( nThisRow, nAttrRow, aDefHolder );
             }
             else
             {

Reply via email to