Module: wine Branch: master Commit: 82d413d96d49e47485a4f7fad5b7ba6a73814f11 URL: http://source.winehq.org/git/wine.git/?a=commit;h=82d413d96d49e47485a4f7fad5... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 27 14:18:21 2016 +0200 wininet: Use heap_strndupAtoW in InternetOpenUrlA. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wininet/internet.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index 537bf7d..a534a96 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -3706,9 +3706,8 @@ HINTERNET WINAPI InternetOpenUrlA(HINTERNET hInternet, LPCSTR lpszUrl, LPCSTR lpszHeaders, DWORD dwHeadersLength, DWORD dwFlags, DWORD_PTR dwContext) { HINTERNET rc = NULL; - DWORD lenHeaders = 0; LPWSTR szUrl = NULL; - LPWSTR szHeaders = NULL; + WCHAR *headers = NULL; TRACE("\n"); @@ -3719,20 +3718,17 @@ HINTERNET WINAPI InternetOpenUrlA(HINTERNET hInternet, LPCSTR lpszUrl, } if(lpszHeaders) { - lenHeaders = MultiByteToWideChar(CP_ACP, 0, lpszHeaders, dwHeadersLength, NULL, 0 ); - szHeaders = heap_alloc(lenHeaders*sizeof(WCHAR)); - if(!szHeaders) { + headers = heap_strndupAtoW(lpszHeaders, dwHeadersLength, &dwHeadersLength); + if(!headers) { heap_free(szUrl); return NULL; } - MultiByteToWideChar(CP_ACP, 0, lpszHeaders, dwHeadersLength, szHeaders, lenHeaders); } - rc = InternetOpenUrlW(hInternet, szUrl, szHeaders, - lenHeaders, dwFlags, dwContext); + rc = InternetOpenUrlW(hInternet, szUrl, headers, dwHeadersLength, dwFlags, dwContext); heap_free(szUrl); - heap_free(szHeaders); + heap_free(headers); return rc; }