installationservices/swi/source/securitymanager/securitymanager.cpp
branchRCL_3
changeset 17 741e5bba2bd1
parent 0 ba25891c3a9e
child 25 7333d7932ef7
--- a/installationservices/swi/source/securitymanager/securitymanager.cpp	Tue Apr 27 16:46:15 2010 +0300
+++ b/installationservices/swi/source/securitymanager/securitymanager.cpp	Tue May 11 16:20:28 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of the License "Eclipse Public License v1.0"
@@ -41,7 +41,7 @@
 #include "hashcontainer.h"
 #include "certchainconstraints.h"
 #include "devinfosupportclient.h"
-
+#include "cleanuputils.h"
 #include "log.h"
 
 // PKIX dependencies
@@ -711,6 +711,7 @@
 											 RPointerArray<CX509Certificate>& aCertOut,
 											 TRequestStatus& aStatus)
 	{	
+	CleanupResetAndDestroyPushL(aCertOut);
 	Cancel();
 	
 	DEBUG_PRINTF2(_L8("Security Manager - Performing OCSP with revocation server at %S."),
@@ -727,7 +728,7 @@
  		aCertOut.AppendL(certOut);
  		CleanupStack::Pop(certOut);
  		}
- 		
+ 	
  	DEBUG_PRINTF2(_L8("Security Manager - Validating %d certificate chains for this controller."), numChains);
 
 	iClientStatus = &aStatus;
@@ -748,6 +749,7 @@
 	
 	iRevocationHandler->SendRequestL(iValidPkixChains, aIap, iStatus);
 	
+	CleanupStack::Pop(&aCertOut);
 	SetActive();
 	}
 
@@ -1144,6 +1146,7 @@
 	const Sis::CController& aController,
 	RPointerArray<CX509Certificate>& aCerts)
 	{
+	CleanupResetAndDestroyPushL(aCerts);
 	// Go through all SIS chains and extract end certificates from them.
 	const RPointerArray<Sis::CSignatureCertificateChain>& chains=
 		aController.SignatureCertificateChains();
@@ -1165,6 +1168,7 @@
 		// Cleanup.
 		CleanupStack::PopAndDestroy(pkixChain);
 		}
+	CleanupStack::Pop(&aCerts);
 	}
 
 EXPORT_C void CSecurityManager::FillCertInfoArrayL(