aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ftp.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 43a72eb05..538873a10 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -999,8 +999,10 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
result = Curl_pp_sendf(&ftpc->pp, "%s |%d|%s|%hu|", mode[fcmd],
sa->sa_family == AF_INET?1:2,
myhost, port);
- if(result)
+ if(result) {
+ Curl_closesocket(conn, portsock);
return result;
+ }
break;
}
else if(PORT == fcmd) {
@@ -1020,8 +1022,10 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
snprintf(dest, 20, ",%d,%d", (int)(port>>8), (int)(port&0xff));
result = Curl_pp_sendf(&ftpc->pp, "%s %s", mode[fcmd], tmp);
- if(result)
+ if(result) {
+ Curl_closesocket(conn, portsock);
return result;
+ }
break;
}
}