summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authorbrueffer <brueffer@FreeBSD.org>2015-07-14 09:25:10 +0000
committerbrueffer <brueffer@FreeBSD.org>2015-07-14 09:25:10 +0000
commit4ebfbfaa3f9312ade405ef336ee711fd221ca1ac (patch)
treec0b9c6bc3c1b2ec2ab541c11a943906127729d48 /sbin
parent96a5a3791e2b7cac20f0eb7ded262867ba72de7a (diff)
downloadFreeBSD-src-4ebfbfaa3f9312ade405ef336ee711fd221ca1ac.zip
FreeBSD-src-4ebfbfaa3f9312ade405ef336ee711fd221ca1ac.tar.gz
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
Diffstat (limited to 'sbin')
-rw-r--r--sbin/ggate/ggated/ggated.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/ggate/ggated/ggated.c b/sbin/ggate/ggated/ggated.c
index 01aa00a..a340f01 100644
--- a/sbin/ggate/ggated/ggated.c
+++ b/sbin/ggate/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) {
OpenPOWER on IntegriCloud