diff -r 007508d6e57b -r 915074efc433 syncmlfw/common/sosserver/src/NSmlTask.cpp --- a/syncmlfw/common/sosserver/src/NSmlTask.cpp Tue Apr 27 17:31:13 2010 +0300 +++ b/syncmlfw/common/sosserver/src/NSmlTask.cpp Tue May 11 16:59:53 2010 +0300 @@ -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