From aeb292301acadda60751601c5816d628e6b5e58f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 28 Feb 2020 09:49:02 +0100 Subject: smtp: overwriting 'from' leaks memory Detected by Coverity. CID 1418139. Also, make sure to return error if the new 'from' allocation fails. Closes #4997 --- lib/smtp.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib') diff --git a/lib/smtp.c b/lib/smtp.c index 77fcd5afc..e1872871d 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 */ -- cgit v1.2.3