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
This commit is contained in:
brueffer 2015-07-14 09:25:10 +00:00
parent 96a5a3791e
commit 4ebfbfaa3f

View File

@ -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) {