aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/url.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index 88f797296..a97176495 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -275,8 +275,14 @@ static CURLcode setstropt_userpwd(char *option, char **user_storage,
char* separator;
CURLcode result = CURLE_OK;
- if(!option)
- return result;
+ if(!option) {
+ /* we treat a NULL passed in as a hint to clear existing info */
+ Curl_safefree(*user_storage);
+ *user_storage = (char *) NULL;
+ Curl_safefree(*pwd_storage);
+ *pwd_storage = (char *) NULL;
+ return CURLE_OK;
+ }
separator = strchr(option, ':');
if (separator != NULL) {