diff -r b183ec05bd8c -r 19bba8228ff0 syncmlfw/common/sosserver/src/NSmlTask.cpp --- a/syncmlfw/common/sosserver/src/NSmlTask.cpp Tue Aug 31 16:04:06 2010 +0300 +++ b/syncmlfw/common/sosserver/src/NSmlTask.cpp Wed Sep 01 12:27:42 2010 +0100 @@ -378,7 +378,8 @@ RReadStream filterStream = ctype->FilterReadStreamL(); CleanupClosePushL( filterStream ); RPointerArray* filterArray = new ( ELeave ) RPointerArray(); - CleanupStack::PushL( filterArray ); + CleanupRPtrArrayPushL(filterArray); + TInt count(0); TRAPD(error, count = filterStream.ReadInt32L() ); if ( error == KErrNone ) @@ -391,11 +392,9 @@ } else if ( prof->IntValue( EDSProfileProtocolVersion ) == ESmlVersion1_2 ) { - CleanupStack::Pop(); // filterArray; - filterArray->ResetAndDestroy(); - delete filterArray; + CleanupStack::PopAndDestroy(filterArray); filterArray = iSession.HostClient().SupportedServerFiltersL( iTaskUID, matchType, changeInfo, resultCode ); - CleanupStack::PushL( filterArray ); + CleanupRPtrArrayPushL(filterArray); } iSession.HostClient().CheckServerFiltersL( iTaskUID, *filterArray, changeInfo, resultCode ); @@ -435,8 +434,7 @@ CleanupStack::PopAndDestroy(agentLog); - filterArray->ResetAndDestroy(); - CleanupStack::PopAndDestroy(filterArray); + CleanupStack::PopAndDestroy(filterArray); CleanupStack::PopAndDestroy(&filterStream); } else