diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/swi/source/securitymanager/securitymanager.cpp --- a/installationservices/swi/source/securitymanager/securitymanager.cpp Tue Aug 31 15:21:33 2010 +0300 +++ b/installationservices/swi/source/securitymanager/securitymanager.cpp Wed Sep 01 12:22:02 2010 +0100 @@ -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& 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& aCerts) { + CleanupResetAndDestroyPushL(aCerts); // Go through all SIS chains and extract end certificates from them. const RPointerArray& chains= aController.SignatureCertificateChains(); @@ -1165,6 +1168,7 @@ // Cleanup. CleanupStack::PopAndDestroy(pkixChain); } + CleanupStack::Pop(&aCerts); } EXPORT_C void CSecurityManager::FillCertInfoArrayL(