diff -r d141fc1ad77b -r e61a04404bdf mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp --- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Tue Jul 06 14:48:59 2010 +0300 +++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Wed Aug 18 10:16:02 2010 +0300 @@ -243,10 +243,6 @@ CMTPObjectMetaData* object( CMTPObjectMetaData::NewLC() ); TBool result( iFramework.ObjectMgr().ObjectL( aHandle, *object ) ); - iObjectArray.AppendL( object ); - CleanupStack::Pop( object ); - iHandles.AppendL( aHandle ); - // Obj handle exists if ( result ) { @@ -277,8 +273,18 @@ ret = EMTPRespCodeInvalidParentObject; } } + + if ( result ) + { + iObjectArray.AppendL( object ); + CleanupStack::Pop( object ); + iHandles.AppendL( aHandle ); + } else + { + CleanupStack::PopAndDestroy( object ); ret = EMTPRespCodeInvalidObjectHandle; + } PRINT1( _L( "MM MTP <= CRequestChecker::VerifyObjectHandleL ret = 0x%x" ), ret );