sw/source/core/doc/DocumentRedlineManager.cxx |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

New commits:
commit 383e3aef8438141bfc953f0cca094f6d3d7ed007
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Nov 29 17:16:26 2024 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Nov 29 18:47:45 2024 +0100

    PVS: V773 The return value of function 'lcl_CopyStyle'...
    
    ... is required to be utilized. A memory leak is possible.
    
    Change-Id: Iae82c6a9dd124ac073c0eb99141d4104b1e05101
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177551
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx 
b/sw/source/core/doc/DocumentRedlineManager.cxx
index 82e128f0fd95..7a15b19c47c1 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -413,7 +413,7 @@ namespace
     }
 
     // copy style or return with SwRedlineExtra_FormatColl with reject data of 
the upcoming copy
-    SwRedlineExtraData_FormatColl* lcl_CopyStyle( const SwPosition & rFrom, 
const SwPosition & rTo, bool bCopy = true )
+    std::unique_ptr<SwRedlineExtraData_FormatColl> lcl_CopyStyle( const 
SwPosition & rFrom, const SwPosition & rTo, bool bCopy = true )
     {
         SwTextNode* pToNode = rTo.GetNode().GetTextNode();
         SwTextNode* pFromNode = rFrom.GetNode().GetTextNode();
@@ -455,7 +455,7 @@ namespace
             if (bCopy && !bSameSet)
                 rDoc.getIDocumentContentOperations().InsertItemSet(aPam, 
aTmp2);
             else if (!bCopy && (!bSameSet || pFromColl != pToColl))
-                return new SwRedlineExtraData_FormatColl( 
pFromColl->GetName(), USHRT_MAX, &aTmp2 );
+                return std::make_unique<SwRedlineExtraData_FormatColl>( 
pFromColl->GetName(), USHRT_MAX, &aTmp2 );
         }
         return nullptr;
     }
@@ -2348,14 +2348,12 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* 
pNewRedl, bool const bCall
                                 pNewRedl->SetEnd( aPos );
 
                                 // get extradata for reset formatting of the 
modified paragraph
-                                SwRedlineExtraData_FormatColl* pExtraData = 
lcl_CopyStyle(aPos, *pStt, false);
+                                std::unique_ptr<SwRedlineExtraData_FormatColl> 
pExtraData = lcl_CopyStyle(aPos, *pStt, false);
                                 if (pExtraData)
                                 {
-                                    
std::unique_ptr<SwRedlineExtraData_FormatColl> xRedlineExtraData;
                                     if (!bFirst)
                                         pExtraData->SetFormatAll(false);
-                                    xRedlineExtraData.reset(pExtraData);
-                                    pPar->SetExtraData( 
xRedlineExtraData.get() );
+                                    pPar->SetExtraData( pExtraData.get() );
                                 }
 
                                 // skip empty redlines without ExtraData

Reply via email to