From 1722b09d90e94c24b21d4f2f49963c38a976084a Mon Sep 17 00:00:00 2001 From: brueffer Date: Tue, 14 Jul 2015 09:25:10 +0000 Subject: [PATCH] If ggated's exports_find() fails, the connection is removed before (trying to) report the problem to the client. sendfail() is called with an already closed socket and thus it fails to inform the client about the problem. Fix this by calling sendfail() before connection_remove(). PR: 195944 Submitted by: Fabian Keil Reviewed by: pjd MFC after: 1 week --- ggated/ggated.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ggated/ggated.c b/ggated/ggated.c index 01aa00a..a340f01 100644 --- a/ggated/ggated.c +++ b/ggated/ggated.c @@ -906,8 +906,8 @@ handshake(struct sockaddr *from, int sfd) ex = exports_find(from, &cinit, conn); if (ex == NULL) { - connection_remove(conn); sendfail(sfd, errno, NULL); + connection_remove(conn); return (0); } if (conn->c_mediasize == 0) {