From 60b25dd9c5b6b21ab99c4248725872a0341bf19d Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 26 Dec 2018 12:55:51 -0500 Subject: [PATCH] lib/ipc: client double close of socket file descriptor #431 When connect() fails in connect_unix() the path_ctx.fd is not set to -1 after close(). When common_release() is executed due to the error return from connect_unix() it calls close() a second time. There is no need to call close() from connect_unix(). Remove the duplicate request. This issue was reported by YASUOKA Masahiko. Change-Id: I825e274cc7f12e50a8779a2b62ddb756817cdb52 --- lib/ipc/client.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/ipc/client.c b/lib/ipc/client.c index 82ef2bfc2..cf78a7f20 100644 --- a/lib/ipc/client.c +++ b/lib/ipc/client.c @@ -332,10 +332,8 @@ connect_unix(struct path_ctx *s) return errno; rk_cloexec(s->fd); - if (connect(s->fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) { - close(s->fd); + if (connect(s->fd, (struct sockaddr *)&addr, sizeof(addr)) != 0) return errno; - } return 0; }