summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2011-03-12 21:06:40 +0000
committerbluhm <bluhm@openbsd.org>2011-03-12 21:06:40 +0000
commitf657cf8d6d7a512d716263bb8a88686d53cd2910 (patch)
tree6e0e12481c1ca3f52a258e2f001f65384272cd8c
parentincorrect parameters to warn() (diff)
downloadwireguard-openbsd-f657cf8d6d7a512d716263bb8a88686d53cd2910.tar.xz
wireguard-openbsd-f657cf8d6d7a512d716263bb8a88686d53cd2910.zip
Fix previous commit. When data arrives from the client before the
server connection is set up, do not enable read events for the other side.
-rw-r--r--usr.sbin/relayd/relay.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/relayd/relay.c b/usr.sbin/relayd/relay.c
index cc0edf023a6..5510645f88f 100644
--- a/usr.sbin/relayd/relay.c
+++ b/usr.sbin/relayd/relay.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: relay.c,v 1.129 2011/03/12 18:18:11 bluhm Exp $ */
+/* $OpenBSD: relay.c,v 1.130 2011/03/12 21:06:40 bluhm Exp $ */
/*
* Copyright (c) 2006, 2007, 2008 Reyk Floeter <reyk@openbsd.org>
@@ -906,7 +906,8 @@ relay_read(struct bufferevent *bev, void *arg)
goto fail;
if (con->se_done)
goto done;
- bufferevent_enable(cre->dst->bev, EV_READ);
+ if (cre->dst->bev)
+ bufferevent_enable(cre->dst->bev, EV_READ);
return;
done:
relay_close(con, "last read (done)");