mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Thu Jul 15 19:11:42 2010 +0300
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Thu Aug 19 10:24:28 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 );