From aca79af7deb696cc97d7f332ef9c20bdd0096d5b Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Fri, 28 May 2004 09:56:59 +0000
Subject: [PATCH] check for failing strdup()s

---
 lib/url.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/url.c b/lib/url.c
index 65c99981e8..e11d586248 100644
--- 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
-- 
GitLab