diff --git a/lib/ftp.c b/lib/ftp.c index 740926a872aebda1ef61a1852e5b8c9d07413bb4..49a1d82d0b374249537d451c03dfcbe94222aa1a 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -209,12 +209,12 @@ static CURLcode AllowServerConnect(struct connectdata *conn) default: /* we have received data here */ { - curl_socket_t s; + curl_socket_t s = CURL_SOCKET_BAD; socklen_t size = (socklen_t) sizeof(struct sockaddr_in); struct sockaddr_in add; - getsockname(sock, (struct sockaddr *) &add, &size); - s=accept(sock, (struct sockaddr *) &add, &size); + if(0 == getsockname(sock, (struct sockaddr *) &add, &size)) + s=accept(sock, (struct sockaddr *) &add, &size); sclose(sock); /* close the first socket */