Detlef Riekenberg : shlwapi: Fix pointer and size in AssocQueryStringA.
Alexandre Julliard
julliard at winehq.org
Mon Oct 20 08:00:59 CDT 2008
Module: wine
Branch: master
Commit: 78c75e20aeff2a35911953c27559e8f5257e5d11
URL: http://source.winehq.org/git/wine.git/?a=commit;h=78c75e20aeff2a35911953c27559e8f5257e5d11
Author: Detlef Riekenberg <wine.dev at web.de>
Date: Fri Oct 17 16:36:59 2008 +0200
shlwapi: Fix pointer and size in AssocQueryStringA.
---
dlls/shlwapi/assoc.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/shlwapi/assoc.c b/dlls/shlwapi/assoc.c
index 31a8420..0ca8678 100644
--- a/dlls/shlwapi/assoc.c
+++ b/dlls/shlwapi/assoc.c
@@ -303,6 +303,8 @@ HRESULT WINAPI AssocQueryStringA(ASSOCF cfFlags, ASSOCSTR str, LPCSTR pszAssoc,
if (dwLenOut >= MAX_PATH)
lpszReturnW = HeapAlloc(GetProcessHeap(), 0,
(dwLenOut + 1) * sizeof(WCHAR));
+ else
+ dwLenOut = sizeof(szReturnW) / sizeof(szReturnW[0]);
if (!lpszReturnW)
hRet = E_OUTOFMEMORY;
@@ -312,9 +314,10 @@ HRESULT WINAPI AssocQueryStringA(ASSOCF cfFlags, ASSOCSTR str, LPCSTR pszAssoc,
lpszReturnW, &dwLenOut);
if (SUCCEEDED(hRet))
- WideCharToMultiByte(CP_ACP,0,szReturnW,-1,pszOut,dwLenOut,0,0);
- *pcchOut = dwLenOut;
+ dwLenOut = WideCharToMultiByte(CP_ACP, 0, lpszReturnW, -1,
+ pszOut, *pcchOut, NULL, NULL);
+ *pcchOut = dwLenOut;
if (lpszReturnW != szReturnW)
HeapFree(GetProcessHeap(), 0, lpszReturnW);
}
More information about the wine-cvs
mailing list