summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2017-04-18 16:24:06 +0200
committerantirez <antirez@gmail.com>2017-04-18 16:24:06 +0200
commit02d02a3754d1af26a02504b95104e9f1227e681a (patch)
treefa00b72587c01400a26d0f2a4af10eb4f9416c10
parent8b7b4d6734d4a19887398a27bddfd70878430677 (diff)
downloadredis-02d02a3754d1af26a02504b95104e9f1227e681a.tar.gz
Fix #3848 by closing the descriptor on error.
-rw-r--r--src/anet.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/anet.c b/src/anet.c
index 993615601..53a56b0d2 100644
--- a/src/anet.c
+++ b/src/anet.c
@@ -464,7 +464,7 @@ static int anetV6Only(char *err, int s) {
static int _anetTcpServer(char *err, int port, char *bindaddr, int af, int backlog)
{
- int s, rv;
+ int s = -1, rv;
char _port[6]; /* strlen("65535") */
struct addrinfo hints, *servinfo, *p;
@@ -493,6 +493,7 @@ static int _anetTcpServer(char *err, int port, char *bindaddr, int af, int backl
}
error:
+ if (s != -1) close(s);
s = ANET_ERR;
end:
freeaddrinfo(servinfo);