From fe880475ed3c7e51e32e19112252c79e921cc31b Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sat, 20 Apr 2013 18:40:13 +0100 Subject: [PATCH] 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. --- lib/url.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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; -- GitLab