diff options
author | Steve Holme <steve_holme@hotmail.com> | 2013-04-20 18:40:13 +0100 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2013-04-20 18:40:13 +0100 |
commit | fe880475ed3c7e51e32e19112252c79e921cc31b (patch) | |
tree | 8f182b3888d43ffe86ee2cc5e50418f106e6e7d0 | |
parent | 5821d5f11108f3c5268bcdb25b4763ef16e79bbf (diff) |
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.
-rw-r--r-- | lib/url.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -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; |