Detlef Riekenberg : shlwapi: Fix pointer and size in AssocQueryStringA.
Module: wine Branch: master Commit: 78c75e20aeff2a35911953c27559e8f5257e5d11 URL: http://source.winehq.org/git/wine.git/?a=commit;h=78c75e20aeff2a35911953c275... Author: Detlef Riekenberg <wine.dev(a)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); }
participants (1)
-
Alexandre Julliard