mirror of
https://github.com/curl/curl.git
synced 2026-04-18 10:01:40 +03:00
connect: Return the socket descriptor even on fail
singleipconnect() did not return the open socket descriptor on some errors, thereby sometimes causing a socket leak. This patch ensures the socket is always returned.
This commit is contained in:
parent
1f0616ea1a
commit
ed1662c374
1 changed files with 2 additions and 3 deletions
|
|
@ -1027,6 +1027,8 @@ singleipconnect(struct connectdata *conn,
|
|||
conn->bits.ipv6 = (addr.family == AF_INET6)?TRUE:FALSE;
|
||||
#endif
|
||||
|
||||
*sockp = sockfd;
|
||||
|
||||
if(-1 == rc) {
|
||||
switch (error) {
|
||||
case EINPROGRESS:
|
||||
|
|
@ -1040,7 +1042,6 @@ singleipconnect(struct connectdata *conn,
|
|||
case EAGAIN:
|
||||
#endif
|
||||
#endif
|
||||
*sockp = sockfd;
|
||||
return CURLE_OK;
|
||||
|
||||
default:
|
||||
|
|
@ -1053,8 +1054,6 @@ singleipconnect(struct connectdata *conn,
|
|||
return CURLE_COULDNT_CONNECT;
|
||||
}
|
||||
}
|
||||
else
|
||||
*sockp = sockfd;
|
||||
|
||||
return CURLE_OK;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue