Commit fcceb61f authored by Colin Finck's avatar Colin Finck Committed by Alexandre Julliard

mshtml: Fix the size passed to MultiByteToWideChar.

parent eafc9caa
...@@ -425,6 +425,7 @@ static LPWSTR get_url(void) ...@@ -425,6 +425,7 @@ static LPWSTR get_url(void)
HKEY hkey; HKEY hkey;
DWORD res, type; DWORD res, type;
DWORD size = INTERNET_MAX_URL_LENGTH*sizeof(WCHAR); DWORD size = INTERNET_MAX_URL_LENGTH*sizeof(WCHAR);
DWORD returned_size;
LPWSTR url; LPWSTR url;
static const WCHAR wszGeckoUrl[] = {'G','e','c','k','o','U','r','l',0}; static const WCHAR wszGeckoUrl[] = {'G','e','c','k','o','U','r','l',0};
...@@ -437,15 +438,16 @@ static LPWSTR get_url(void) ...@@ -437,15 +438,16 @@ static LPWSTR get_url(void)
return NULL; return NULL;
url = heap_alloc(size); url = heap_alloc(size);
returned_size = size;
res = RegQueryValueExW(hkey, wszGeckoUrl, NULL, &type, (LPBYTE)url, &size); res = RegQueryValueExW(hkey, wszGeckoUrl, NULL, &type, (LPBYTE)url, &returned_size);
RegCloseKey(hkey); RegCloseKey(hkey);
if(res != ERROR_SUCCESS || type != REG_SZ) { if(res != ERROR_SUCCESS || type != REG_SZ) {
heap_free(url); heap_free(url);
return NULL; return NULL;
} }
if(size > sizeof(httpW) && !memcmp(url, httpW, sizeof(httpW))) { if(returned_size > sizeof(httpW) && !memcmp(url, httpW, sizeof(httpW))) {
strcatW(url, v_formatW); strcatW(url, v_formatW);
MultiByteToWideChar(CP_ACP, 0, GECKO_VERSION, -1, url+strlenW(url), size/sizeof(WCHAR)-strlenW(url)); MultiByteToWideChar(CP_ACP, 0, GECKO_VERSION, -1, url+strlenW(url), size/sizeof(WCHAR)-strlenW(url));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment