check for failing strdup()s
authorDaniel Stenberg <daniel@haxx.se>
Fri, 28 May 2004 09:56:59 +0000 (09:56 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 28 May 2004 09:56:59 +0000 (09:56 +0000)
lib/url.c

index 65c9998..e11d586 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -2836,6 +2836,8 @@ static CURLcode CreateConnection(struct SessionHandle *data,
     conn->proxy.name = conn->proxy.rawalloc;
 
     free(proxydup); /* free the duplicate pointer and not the modified */
+    if(!conn->proxy.rawalloc)
+      return CURLE_OUT_OF_MEMORY;
   }
 
   /*************************************************************
@@ -2964,7 +2966,6 @@ static CURLcode CreateConnection(struct SessionHandle *data,
 
     conn->user = strdup(CURL_DEFAULT_USER);
     conn->passwd = strdup(CURL_DEFAULT_PASSWORD);
-
     /* This is the default password, so DON'T set conn->bits.user_passwd */
   }
   else {
@@ -2972,6 +2973,8 @@ static CURLcode CreateConnection(struct SessionHandle *data,
     conn->user = strdup(user);
     conn->passwd = strdup(passwd);
   }
+  if(!conn->user || !conn->passwd)
+    return CURLE_OUT_OF_MEMORY;
 
   /*************************************************************
    * Check the current list of connections to see if we can