diff --git a/lib/url.c b/lib/url.c index d54d49b9e61497942f27d58fd54962a319b7dac2..7b12372893e645f95e818e98c270169b47ba9f6d 100644 --- a/lib/url.c +++ b/lib/url.c @@ -333,15 +333,18 @@ static CURLcode setstropt_userpwd(char *option, char **user_storage, if(!result) { /* store username part of option */ if(user_storage) - setstropt(user_storage, userp); + Curl_safefree(*user_storage); + *user_storage = userp; /* store password part of option */ if(pwd_storage) - setstropt(pwd_storage, passwdp); + Curl_safefree(*pwd_storage); + *pwd_storage = passwdp; /* store options part of option */ if(options_storage) - setstropt(options_storage, optionsp); + Curl_safefree(*options_storage); + *options_storage = optionsp; } return result;