[PATCH] shlwapi: Fix pointer and size in AssocQueryStringA
Detlef Riekenberg
wine.dev at web.de
Fri Oct 17 09:36:59 CDT 2008
---
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 9e4b036..27b6a9e 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);
}
--
1.5.4.3
--=-RA47/gof7cuFpMGAs/wC--
More information about the wine-patches
mailing list