From c895dc8a19eacd53cbca7d443f2673cacf119919 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Thu, 5 Apr 2007 11:09:46 +0000 Subject: runtests -t discovered this out of memory handling issues --- lib/http.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/http.c b/lib/http.c index 884d7e3d2..b59779b1b 100644 --- a/lib/http.c +++ b/lib/http.c @@ -157,6 +157,8 @@ static CURLcode Curl_output_basic(struct connectdata *conn, bool proxy) proxy?"Proxy-":"", authorization); free(authorization); + if(!*userp) + return CURLE_OUT_OF_MEMORY; } else return CURLE_OUT_OF_MEMORY; @@ -1150,8 +1152,10 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn, return CURLE_OUT_OF_MEMORY; host_port = aprintf("%s:%d", hostname, remote_port); - if(!host_port) + if(!host_port) { + free(req_buffer); return CURLE_OUT_OF_MEMORY; + } /* Setup the proxy-authorization header, if any */ result = Curl_http_output_auth(conn, (char *)"CONNECT", host_port, TRUE); @@ -1163,8 +1167,11 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn, if(!checkheaders(data, "Host:")) { host = aprintf("Host: %s\r\n", host_port); - if(!host) + if(!host) { + free(req_buffer); + free(host_port); result = CURLE_OUT_OF_MEMORY; + } } if(!checkheaders(data, "Proxy-Connection:")) proxyconn = "Proxy-Connection: Keep-Alive\r\n"; -- cgit v1.2.3