From 44ac2776ae8394974c88655c8c45ee4a6bf7b209 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 25 Jan 2007 01:35:43 +0000 Subject: Fixed a dangling pointer problem that prevented the http_proxy environment variable from being properly used in many cases (and caused test case 63 to fail). --- lib/url.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/url.c b/lib/url.c index 91cb57e2e..01751a380 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3380,12 +3380,13 @@ else { conn->proxy.name = conn->proxy.rawalloc; free(proxydup); /* free the duplicate pointer and not the modified */ + proxy = NULL; /* this may have just been freed */ if(!conn->proxy.rawalloc) return CURLE_OUT_OF_MEMORY; } /************************************************************* - * If the protcol is using SSL and HTTP proxy is used, we set + * If the protocol is using SSL and HTTP proxy is used, we set * the tunnel_proxy bit. *************************************************************/ if((conn->protocol&PROT_SSL) && conn->bits.httpproxy) @@ -3831,7 +3832,7 @@ else { /* set a pointer to the hostname we display */ fix_hostname(data, conn, &conn->host); - if(!proxy || !*proxy) { + if(!conn->proxy.name || !*conn->proxy.name) { /* If not connecting via a proxy, extract the port from the URL, if it is * there, thus overriding any defaults that might have been set above. */ conn->port = conn->remote_port; /* it is the same port */ -- cgit v1.2.3