diff --git a/lib/smtp.c b/lib/smtp.c index dbfc589c51fa5306203c40a326bf452b7203fdd2..75b008ef29a695927b1e9fa1908a331a4403fc2a 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -808,12 +808,15 @@ static CURLcode smtp_mail(struct connectdata *conn) if(conn->data->set.infilesize > 0) { size = aprintf("%" FORMAT_OFF_T, data->set.infilesize); - if(!size) + if(!size) { + Curl_safefree(from); + return CURLE_OUT_OF_MEMORY; + } } /* send MAIL FROM */ - if(size == NULL) + if(!size) result = Curl_pp_sendf(&conn->proto.smtpc.pp, "MAIL FROM:%s", from); else result = Curl_pp_sendf(&conn->proto.smtpc.pp, "MAIL FROM:%s SIZE=%s",