summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvienna <viennadd@gmail.com>2017-03-07 16:14:05 +0000
committervienna <viennadd@gmail.com>2017-03-07 16:14:05 +0000
commit59bdd08214831b268dd7c4981db8404da9c11e3a (patch)
tree118268b0e18508ae782d517379a20888a9c9af6a
parent9cc83d2ad9d5ed0e6a396a7e26814ac2f2445d1c (diff)
downloadredis-59bdd08214831b268dd7c4981db8404da9c11e3a.tar.gz
fix #3847: add close socket before return ANET_ERR.
-rw-r--r--src/anet.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/anet.c b/src/anet.c
index ef1711d06..993615601 100644
--- a/src/anet.c
+++ b/src/anet.c
@@ -380,8 +380,10 @@ int anetUnixGenericConnect(char *err, char *path, int flags)
sa.sun_family = AF_LOCAL;
strncpy(sa.sun_path,path,sizeof(sa.sun_path)-1);
if (flags & ANET_CONNECT_NONBLOCK) {
- if (anetNonBlock(err,s) != ANET_OK)
+ if (anetNonBlock(err,s) != ANET_OK) {
+ close(s);
return ANET_ERR;
+ }
}
if (connect(s,(struct sockaddr*)&sa,sizeof(sa)) == -1) {
if (errno == EINPROGRESS &&