mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp
--- a/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Fri Jul 23 17:48:16 2010 -0500
+++ b/mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp Fri Aug 06 17:13:32 2010 -0500
@@ -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 );