mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp
changeset 51 e61a04404bdf
parent 25 d881023c13eb
--- 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 );