From: Piotr Caban piotr@codeweavers.com
--- dlls/winhttp/session.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c index 7860bf757f4..f56211bab42 100644 --- a/dlls/winhttp/session.c +++ b/dlls/winhttp/session.c @@ -1897,6 +1897,16 @@ static BOOL parse_script_result( const char *result, WINHTTP_PROXY_INFO *info ) while (*p == ' ') p++; if (!*p || *p == ';') return TRUE; if (!(info->lpszProxy = q = strdupAW( p ))) return FALSE; + len = wcslen( q ); + info->lpszProxy = GlobalAlloc( 0, (len + 1) * sizeof(WCHAR) ); + if (!info->lpszProxy) + { + free( q ); + return FALSE; + } + memcpy( info->lpszProxy, q, (len + 1) * sizeof(WCHAR) ); + free( q ); + q = info->lpszProxy; info->dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; for (; *q; q++) {
I forgot to mention, it's a regression caused by 4f961d9e7a3b.
You can remove the first assignment to info->lpszProxy.