mmappcomponents/mmmtpdataprovider/mmmtpdprequestprocessor/src/crequestchecker.cpp
branchRCL_3
changeset 23 e42293e811d8
parent 11 780c925249c1
--- 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 );