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:
Christian Brueffer 2015-07-14 09:25:10 +00:00
parent df7b11fa09
commit b4a355e2f3

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