Skip to content

Commit

Permalink
FTP: fix dangling conn->ip_addr dereference on verbose EPSV.
Browse files Browse the repository at this point in the history
  • Loading branch information
Patrick Monnerat committed May 8, 2015
1 parent 3377e69 commit c720cd6
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions lib/ftp.c
Expand Up @@ -2073,9 +2073,8 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,
conn->bits.tcpconnect[SECONDARYSOCKET] = FALSE;
result = Curl_connecthost(conn, addr);

Curl_resolv_unlock(data, addr); /* we're done using this address */

if(result) {
Curl_resolv_unlock(data, addr); /* we're done using this address */
if(ftpc->count1 == 0 && ftpcode == 229)
return ftp_epsv_disable(conn);

Expand All @@ -2091,8 +2090,9 @@ static CURLcode ftp_state_pasv_resp(struct connectdata *conn,

if(data->set.verbose)
/* this just dumps information about this second connection */
ftp_pasv_verbose(conn, conn->ip_addr, ftpc->newhost, connectport);
ftp_pasv_verbose(conn, addr->addr, ftpc->newhost, connectport);

Curl_resolv_unlock(data, addr); /* we're done using this address */
conn->bits.do_more = TRUE;
state(conn, FTP_STOP); /* this phase is completed */

Expand Down

0 comments on commit c720cd6

Please sign in to comment.