runtests -t discovered this out of memory handling issues
authorYang Tse <yangsita@gmail.com>
Thu, 5 Apr 2007 11:09:46 +0000 (11:09 +0000)
committerYang Tse <yangsita@gmail.com>
Thu, 5 Apr 2007 11:09:46 +0000 (11:09 +0000)
lib/http.c

index 884d7e3..b59779b 100644 (file)
@@ -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";