From 35706b6b4c372f8ce209f2a15857dda13f1555ea Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Tue, 16 Aug 2005 15:57:21 +0000 Subject: [PATCH] Fixed a memory overflow and leak identified by Mike McCormack. --- dlls/msi/action.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 6d9ac76f3c5..783e6a161ec 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -3709,7 +3709,7 @@ UINT ACTION_ResolveSource(MSIPACKAGE* package) INSTALLPROPERTY_DISKPROMPTW,NULL,&size); if (rc == ERROR_MORE_DATA) { - prompt = HeapAlloc(GetProcessHeap(),0,size); + prompt = HeapAlloc(GetProcessHeap(),0,size * sizeof(WCHAR)); MsiSourceListGetInfoW(package->ProductCode, NULL, MSIINSTALLCONTEXT_USERMANAGED, MSICODE_PRODUCT, INSTALLPROPERTY_DISKPROMPTW,prompt,&size); @@ -3728,6 +3728,7 @@ UINT ACTION_ResolveSource(MSIPACKAGE* package) } attrib = GetFileAttributesW(package->PackagePath); } + HeapFree(GetProcessHeap(),0,prompt); rc = ERROR_SUCCESS; } else