diff options
author | vienna <viennadd@gmail.com> | 2017-03-07 16:14:05 +0000 |
---|---|---|
committer | vienna <viennadd@gmail.com> | 2017-03-07 16:14:05 +0000 |
commit | 59bdd08214831b268dd7c4981db8404da9c11e3a (patch) | |
tree | 118268b0e18508ae782d517379a20888a9c9af6a | |
parent | 9cc83d2ad9d5ed0e6a396a7e26814ac2f2445d1c (diff) | |
download | redis-59bdd08214831b268dd7c4981db8404da9c11e3a.tar.gz |
fix #3847: add close socket before return ANET_ERR.
-rw-r--r-- | src/anet.c | 4 |
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 && |