Module: wine Branch: master Commit: 2752da05db370a9b438ea8c28d4c77550befd6b1 URL: https://source.winehq.org/git/wine.git/?a=commit;h=2752da05db370a9b438ea8c28...
Author: Hans Leidekker hans@codeweavers.com Date: Wed May 23 11:36:44 2018 +0200
winhttp: Ignore empty proxy strings read from the environment.
Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winhttp/session.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c index c878d68..e2b91fa 100644 --- a/dlls/winhttp/session.c +++ b/dlls/winhttp/session.c @@ -1597,29 +1597,21 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info ) } if (!got_from_reg && (envproxy = getenv( "http_proxy" ))) { - char *colon, *http_proxy; + char *colon, *http_proxy = NULL;
- if ((colon = strchr( envproxy, ':' ))) + if (!(colon = strchr( envproxy, ':' ))) http_proxy = envproxy; + else { if (*(colon + 1) == '/' && *(colon + 2) == '/') { - static const char http[] = "http://"; - /* It's a scheme, check that it's http */ - if (!strncmp( envproxy, http, strlen( http ) )) - http_proxy = envproxy + strlen( http ); - else - { - WARN("unsupported scheme in $http_proxy: %s\n", envproxy); - http_proxy = NULL; - } + if (!strncmp( envproxy, "http://", 7 )) http_proxy = envproxy + 7; + else WARN("unsupported scheme in $http_proxy: %s\n", envproxy); } - else - http_proxy = envproxy; + else http_proxy = envproxy; } - else - http_proxy = envproxy; - if (http_proxy) + + if (http_proxy && http_proxy[0]) { WCHAR *http_proxyW; int len; @@ -1632,8 +1624,7 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info ) info->dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; info->lpszProxy = http_proxyW; info->lpszProxyBypass = NULL; - TRACE("http proxy (from environment) = %s\n", - debugstr_w(info->lpszProxy)); + TRACE("http proxy (from environment) = %s\n", debugstr_w(info->lpszProxy)); } } }