On 2013-03-14 21:20, julien2412 wrote:
Hello,
Scan coverity detected this:
27. overwrite_var: Overwriting "pMarg" in "pMarg = new SwMarginPortion(0)"
leaks the storage that "pMarg" points to
(http://opengrok.libreoffice.org/xref/core/sw/source/core/text/pormulti.cxx#738)
738 if( nLeft || nRight )
739 {
740 if( !pCurr->GetPortion() )
741 pCurr->SetPortion( new SwTxtPortion( *pCurr ) );
742 SwMarginPortion *pMarg = new SwMarginPortion( 0 );
743 if( nLeft )
744 {
745 pMarg->AddPrtWidth( nLeft );
746 pMarg->SetPortion( pCurr->GetPortion() );
747 pCurr->SetPortion( pMarg );
748 }
749 if( nRight )
750 {
751 pMarg = new SwMarginPortion( 0 );
752 pMarg->AddPrtWidth( nRight );
753 pCurr->FindLastPortion()->Append( pMarg );
754 }
755 }
I don't understand the line 751, shouldn't it simply removed or does it lack
something too?
I would guess that someone meant to move line 742 inside the first "if"
statement, but only did half the job.
Disclaimer: http://www.peralex.com/disclaimer.html
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice