diff -r 98a43fae6e2b -r 741e5bba2bd1 installationservices/swi/source/sisregistry/client/sisregistryentry.cpp --- a/installationservices/swi/source/sisregistry/client/sisregistryentry.cpp Tue Apr 27 16:46:15 2010 +0300 +++ b/installationservices/swi/source/sisregistry/client/sisregistryentry.cpp Tue May 11 16:20:28 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2004-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" @@ -315,6 +315,9 @@ EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray& aPackageNames, RPointerArray& aVendorNames) { + CleanupResetAndDestroyPushL(aPackageNames); + CleanupResetAndDestroyPushL(aVendorNames); + HBufC8* buffer = RSisRegistryEntry::SendReceiveBufferLC(EPackageAugmentations); // create a stream based on the buffer @@ -340,6 +343,8 @@ CleanupStack::Pop(2, vendor); //vendor package, } CleanupStack::PopAndDestroy(3, buffer);// buffer, stream, packages + + CleanupStack::Pop(2, &aPackageNames); } EXPORT_C void RSisRegistryEntry::AugmentationsL(RPointerArray& aPackages) @@ -392,6 +397,7 @@ EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray& aControllers) { + CleanupResetAndDestroyPushL(aControllers); HBufC8* buffer = SendReceiveBufferLC(EControllers); // this call returns pure data, so we don't incur the overheads of the streamstore @@ -413,6 +419,7 @@ } CleanupStack::PopAndDestroy(buffer); + CleanupStack::Pop(&aControllers); } EXPORT_C TChar RSisRegistryEntry::SelectedDriveL()