From: Steve Holme Date: Sat, 20 Apr 2013 17:40:13 +0000 (+0100) Subject: url: Fixed memory leak in setstropt_userpwd() X-Git-Tag: curl-7_31_0~137 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe880475ed3c7e51e32e19112252c79e921cc31b;p=thirdparty%2Fcurl.git url: Fixed memory leak in setstropt_userpwd() setstropt_userpwd() was calling setstropt() in commit fddb7b44a79d to set each of the login details which would duplicate the strings and subsequently cause a memory leak. --- diff --git a/lib/url.c b/lib/url.c index d54d49b9e6..7b12372893 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;