diff options
author | antirez <antirez@gmail.com> | 2017-04-18 16:24:06 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2017-04-18 16:24:06 +0200 |
commit | 02d02a3754d1af26a02504b95104e9f1227e681a (patch) | |
tree | fa00b72587c01400a26d0f2a4af10eb4f9416c10 | |
parent | 8b7b4d6734d4a19887398a27bddfd70878430677 (diff) | |
download | redis-02d02a3754d1af26a02504b95104e9f1227e681a.tar.gz |
Fix #3848 by closing the descriptor on error.
-rw-r--r-- | src/anet.c | 3 |
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); |