installationservices/swi/source/sisregistry/client/sisregistryentry.cpp
branchRCL_3
changeset 34 741e5bba2bd1
parent 5 3eebb1e54d3a
child 65 7333d7932ef7
--- 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<HBufC>& aPackageNames, RPointerArray<HBufC>& 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<CSisRegistryPackage>& aPackages)
@@ -392,6 +397,7 @@
 
 EXPORT_C void RSisRegistryEntry::ControllersL(RPointerArray<HBufC8>& 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()