mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
cf-socket: don't try getting local IP without socket
In cf_tcp_connect(), it might fail and not get a socket assigned to ctx->sock but set_local_ip() is still called which would make getsockname() get invoked with a negative file desriptor and fail. By adding this check, set_local_ip() will now instead blank out the fields correctly. Spotted by CodeSonar Closes #13577
This commit is contained in:
parent
cabbb9b2a5
commit
4d38cea94f
@ -923,7 +923,8 @@ static CURLcode set_local_ip(struct Curl_cfilter *cf,
|
|||||||
struct cf_socket_ctx *ctx = cf->ctx;
|
struct cf_socket_ctx *ctx = cf->ctx;
|
||||||
|
|
||||||
#ifdef HAVE_GETSOCKNAME
|
#ifdef HAVE_GETSOCKNAME
|
||||||
if(!(data->conn->handler->protocol & CURLPROTO_TFTP)) {
|
if((ctx->sock != CURL_SOCKET_BAD) &&
|
||||||
|
!(data->conn->handler->protocol & CURLPROTO_TFTP)) {
|
||||||
/* TFTP does not connect, so it cannot get the IP like this */
|
/* TFTP does not connect, so it cannot get the IP like this */
|
||||||
|
|
||||||
char buffer[STRERROR_LEN];
|
char buffer[STRERROR_LEN];
|
||||||
|
Loading…
Reference in New Issue
Block a user