Module: wine Branch: master Commit: 82d413d96d49e47485a4f7fad5b7ba6a73814f11 URL: http://source.winehq.org/git/wine.git/?a=commit;h=82d413d96d49e47485a4f7fad5...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Apr 27 14:18:21 2016 +0200
wininet: Use heap_strndupAtoW in InternetOpenUrlA.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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; }