summaryrefslogtreecommitdiff
path: root/src/connection.c
diff options
context:
space:
mode:
authorTian <skylypig@gmail.com>2022-07-21 07:59:27 +0800
committerGitHub <noreply@github.com>2022-07-20 16:59:27 -0700
commitd00b8af89265c501fb4a0cdd546702b90432a896 (patch)
tree78b573293d7e6cb1d3d8131ba58635df2cc84872 /src/connection.c
parent6d6e932fa6cce5a08aaf68a3d41946a1909a32a0 (diff)
downloadredis-d00b8af89265c501fb4a0cdd546702b90432a896.tar.gz
Don't update node ip when peer fd is closed (#10696)
Diffstat (limited to 'src/connection.c')
-rw-r--r--src/connection.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/connection.c b/src/connection.c
index 11fc4ba28..f61ed2404 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -389,7 +389,11 @@ int connGetSocketError(connection *conn) {
}
int connPeerToString(connection *conn, char *ip, size_t ip_len, int *port) {
- return anetFdToString(conn ? conn->fd : -1, ip, ip_len, port, FD_TO_PEER_NAME);
+ if (anetFdToString(conn ? conn->fd : -1, ip, ip_len, port, FD_TO_PEER_NAME) == -1) {
+ if (conn) conn->last_errno = errno;
+ return C_ERR;
+ }
+ return C_OK;
}
int connSockName(connection *conn, char *ip, size_t ip_len, int *port) {