From: Dan Fandrich Date: Sat, 25 Feb 2017 21:55:46 +0000 (+0100) Subject: ftp: fixed a NULL pointer dereference on OOM X-Git-Tag: curl-7_54_0~196 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=516e60aa8e96c0b9a0364baa0f84a625e988b06f;p=curl ftp: fixed a NULL pointer dereference on OOM --- diff --git a/lib/ftp.c b/lib/ftp.c index 4d5d07a11..867c97994 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -2040,11 +2040,14 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn, /* this just dumps information about this second connection */ ftp_pasv_verbose(conn, addr->addr, ftpc->newhost, connectport); + Curl_resolv_unlock(data, addr); /* we're done using this address */ + Curl_safefree(conn->secondaryhostname); - conn->secondaryhostname = strdup(ftpc->newhost); conn->secondary_port = ftpc->newport; + conn->secondaryhostname = strdup(ftpc->newhost); + if(!conn->secondaryhostname) + return CURLE_OUT_OF_MEMORY; - Curl_resolv_unlock(data, addr); /* we're done using this address */ conn->bits.do_more = TRUE; state(conn, FTP_STOP); /* this phase is completed */