diff -r 2691f6aa1921 -r e1de7d03f843 connectivitymodules/SeCon/services/pcd/src/sconsbeclient.cpp --- a/connectivitymodules/SeCon/services/pcd/src/sconsbeclient.cpp Fri Mar 19 09:27:26 2010 +0200 +++ b/connectivitymodules/SeCon/services/pcd/src/sconsbeclient.cpp Fri Apr 16 14:53:26 2010 +0300 @@ -521,6 +521,7 @@ { LOGGER_WRITE_2("handling do: %d, count: %d", i, dataOwners.Count()); CSConDataOwner* dataOwner = new (ELeave) CSConDataOwner(); + CleanupStack::PushL( dataOwner ); // default values TSecureId sid( 0 ); includeToList = ETrue; @@ -704,24 +705,27 @@ if( includeToList ) { LOGGER_WRITE_1( "Appending to list, uid: 0x%08x", dataOwner->iUid.iUid ); - iCurrentTask->iListDataOwnersParams->iDataOwners.Append( dataOwner ); + iCurrentTask->iListDataOwnersParams->iDataOwners.AppendL( dataOwner ); + CleanupStack::Pop( dataOwner ); } if( sid ) { LOGGER_WRITE_1( "Appending package sid to list, sid: 0x%08x", sid.iId ); CSConDataOwner* packageDataOwner = dataOwner->CopyL(); + CleanupStack::PushL( packageDataOwner ); //Clear package name packageDataOwner->iPackageName = KNullDesC(); //Add sid packageDataOwner->iUid.iUid = sid.iId; - iCurrentTask->iListDataOwnersParams->iDataOwners.Append( packageDataOwner ); + iCurrentTask->iListDataOwnersParams->iDataOwners.AppendL( packageDataOwner ); + CleanupStack::PopAndDestroy( packageDataOwner ); } if( !includeToList ) { //Not included to list => delete memory allocation - delete dataOwner; + CleanupStack::PopAndDestroy( dataOwner ); } }