summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicm <nicm>2013-10-11 08:07:12 +0000
committernicm <nicm>2013-10-11 08:07:12 +0000
commit4901d9ddc8d8c33ecdca363dcb67e66482745fa5 (patch)
treefc882d5c6e4f3ef3ad1df358ff798c97428a6017
parentffba21a60c26eefe5e4cb67dd290514fa3b5af17 (diff)
Don't leak file descriptors in the rare MSG_VERSION case. From Chris
Johnsen.
-rw-r--r--server-client.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/server-client.c b/server-client.c
index 6aa2a0fa..b6d4870d 100644
--- a/server-client.c
+++ b/server-client.c
@@ -808,6 +808,8 @@ server_client_msg_dispatch(struct client *c)
if (imsg.hdr.peerid != PROTOCOL_VERSION) {
server_write_client(c, MSG_VERSION, NULL, 0);
c->flags |= CLIENT_BAD;
+ if (imsg.fd != -1)
+ close(imsg.fd);
imsg_free(&imsg);
continue;
}