summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSalvatore Sanfilippo <antirez@gmail.com>2017-04-18 16:13:23 +0200
committerGitHub <noreply@github.com>2017-04-18 16:13:23 +0200
commit332a05dc33e5de4e6eea25a562ae9dea2ba69b30 (patch)
tree8e8b5deba3258d26db69382d818d7148a5b021eb
parentc33493277a218c6a877158c585447dda912f4d19 (diff)
parent59bdd08214831b268dd7c4981db8404da9c11e3a (diff)
downloadredis-332a05dc33e5de4e6eea25a562ae9dea2ba69b30.tar.gz
Merge pull request #3856 from viennadd/issue-3847
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 &&