From: Daniel Stenberg Date: Fri, 28 Feb 2020 08:49:02 +0000 (+0100) Subject: smtp: overwriting 'from' leaks memory X-Git-Tag: curl-7_69_0~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aeb292301acadda60751601c5816d628e6b5e58f;p=thirdparty%2Fcurl.git smtp: overwriting 'from' leaks memory Detected by Coverity. CID 1418139. Also, make sure to return error if the new 'from' allocation fails. Closes #4997 --- diff --git a/lib/smtp.c b/lib/smtp.c index 77fcd5afc8..e1872871dc 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -625,6 +625,7 @@ static CURLcode smtp_perform_mail(struct connectdata *conn) utf8 = TRUE; if(host.name) { + free(from); from = aprintf("<%s@%s>", address, host.name); Curl_free_idnconverted_hostname(&host); @@ -635,6 +636,8 @@ static CURLcode smtp_perform_mail(struct connectdata *conn) auth = aprintf("<%s>", address); free(address); + if(!from) + return CURLE_OUT_OF_MEMORY; } else /* Empty AUTH, RFC-2554, sect. 5 */