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