diff --git a/.mailmap b/.mailmap index d4e547b9ed..d8558a2ec3 100644 --- a/.mailmap +++ b/.mailmap @@ -121,3 +121,4 @@ Andrew Kirillov Stephen Farrell Calvin Ruocco Hamza Bensliman +Kaixuan Li diff --git a/src/config2setopts.c b/src/config2setopts.c index 1a82edeb70..47078884b0 100644 --- a/src/config2setopts.c +++ b/src/config2setopts.c @@ -208,13 +208,20 @@ static CURLcode ssh_setopts(struct OperationConfig *config, CURL *curl, if(!config->insecure_ok) { char *known = config->knownhosts; - if(!known) - known = findfile(".ssh/known_hosts", FALSE); + if(!known) { + char *found = findfile(".ssh/known_hosts", FALSE); + if(found) { + known = curlx_strdup(found); + curl_free(found); + if(!known) + return CURLE_OUT_OF_MEMORY; + } + } if(known) { result = my_setopt_str(curl, CURLOPT_SSH_KNOWNHOSTS, known); if(result) { config->knownhosts = NULL; - curl_free(known); + curlx_free(known); return result; } /* store it in global to avoid repeated checks */ diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 791a55c790..225defc429 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -1267,10 +1267,16 @@ static ParameterError parse_ech(struct OperationConfig *config, curlx_fclose(file); if(err) return err; - config->ech_config = curl_maprintf("ecl:%s", tmpcfg); - curlx_free(tmpcfg); - if(!config->ech_config) - return PARAM_NO_MEM; + { + char *tmp = curl_maprintf("ecl:%s", tmpcfg); + curlx_free(tmpcfg); + if(!tmp) + return PARAM_NO_MEM; + config->ech_config = curlx_strdup(tmp); + curl_free(tmp); + if(!config->ech_config) + return PARAM_NO_MEM; + } } /* file done */ } else {