diff options
author | 2011-04-04 11:07:18 +0000 | |
---|---|---|
committer | 2011-04-04 11:07:18 +0000 | |
commit | 8a4cdb973446f06ed260f7043d9cb3899d3301c5 (patch) | |
tree | 73988d0798bbc957b2e6147223d0d7a67d519b9e /sys/netinet6/raw_ip6.c | |
parent | Hit this code with a big hammer. It now works on the X201/T510 series (diff) | |
download | wireguard-openbsd-8a4cdb973446f06ed260f7043d9cb3899d3301c5.tar.xz wireguard-openbsd-8a4cdb973446f06ed260f7043d9cb3899d3301c5.zip |
Add the same SS_CANTRCVMORE check as was done in the other input
functions. OK blambert@
Diffstat (limited to 'sys/netinet6/raw_ip6.c')
-rw-r--r-- | sys/netinet6/raw_ip6.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c index 03fcef73030..c40a77d171a 100644 --- a/sys/netinet6/raw_ip6.c +++ b/sys/netinet6/raw_ip6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: raw_ip6.c,v 1.40 2010/04/20 22:05:44 tedu Exp $ */ +/* $OpenBSD: raw_ip6.c,v 1.41 2011/04/04 11:07:18 claudio Exp $ */ /* $KAME: raw_ip6.c,v 1.69 2001/03/04 15:55:44 itojun Exp $ */ /* @@ -179,6 +179,8 @@ rip6_input(struct mbuf **mp, int *offp, int proto) (void)in6_recoverscope(&rip6src, &ip6->ip6_src, m->m_pkthdr.rcvif); CIRCLEQ_FOREACH(in6p, &rawin6pcbtable.inpt_queue, inp_queue) { + if (in6p->in6p_socket->so_state & SS_CANTRCVMORE) + continue; if (!(in6p->in6p_flags & INP_IPV6)) continue; if (in6p->in6p_ip6.ip6_nxt && |