Hello, Scan coverity detected this: 22. pass_freed_arg: Passing freed pointer "pAnchoredObj" as an argument to function "SwSortedObjs::Remove(SwAnchoredObject &)".
This problem appears twice in the file: 576 SwAnchoredObject* pAnchoredObj = (*pFrm->GetDrawObjs())[0]; 577 if ( pAnchoredObj->ISA(SwFlyFrm) ) 578 delete pAnchoredObj; 579 else 580 { 581 SdrObject* pSdrObj = pAnchoredObj->DrawObj(); 582 SwDrawContact* pContact = 583 static_cast<SwDrawContact*>(pSdrObj->GetUserCall()); 584 OSL_ENSURE( pContact, 585 "<SwFrm::~SwFrm> - missing contact for drawing object" ); 586 if ( pContact ) 587 { 588 pContact->DisconnectObjFromLayout( pSdrObj ); 589 } 590 } 591 if ( pFrm->GetDrawObjs() && 592 nCnt == pFrm->GetDrawObjs()->Count() ) 593 { 594 pFrm->GetDrawObjs()->Remove( *pAnchoredObj ); //// pAnchoredObj has been deleted! 595 } and here (same logic): 608 SwAnchoredObject* pAnchoredObj = (*GetDrawObjs())[0]; 609 if ( pAnchoredObj->ISA(SwFlyFrm) ) 610 delete pAnchoredObj; 611 else 612 { 613 SdrObject* pSdrObj = pAnchoredObj->DrawObj(); 614 SwDrawContact* pContact = 615 static_cast<SwDrawContact*>(pSdrObj->GetUserCall()); 616 OSL_ENSURE( pContact, 617 "<SwFrm::~SwFrm> - missing contact for drawing object" ); 618 if ( pContact ) 619 { 620 pContact->DisconnectObjFromLayout( pSdrObj ); 621 } 622 } 623 if ( GetDrawObjs() && nCnt == GetDrawObjs()->Count() ) 624 { 625 GetDrawObjs()->Remove( *pAnchoredObj ); //// pAnchoredObj has been deleted! 626 } Should "delete pAnchoredObj;" be followed by pAnchoredObj = null; in the if part then if ( GetDrawObjs() && nCnt == GetDrawObjs()->Count() ) should be replaced by: if ( GetDrawObjs() && nCnt == GetDrawObjs()->Count() && pAnchoredObj) ? Or: if ( GetDrawObjs() && nCnt == GetDrawObjs()->Count() ) part included in else block? Or should it be otherwise? Julien -- View this message in context: http://nabble.documentfoundation.org/About-coverity-738980-ssfrm-cxx-from-sw-module-tp4044145.html Sent from the Dev mailing list archive at Nabble.com. _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice