summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket2.c
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>1999-01-21 03:27:42 +0000
committermillert <millert@openbsd.org>1999-01-21 03:27:42 +0000
commitf2441411ff131087bddedaeb25c6f342bc120fd3 (patch)
tree77d74c06dd1a9c6d16ebc8592099e57e45c784b0 /sys/kern/uipc_socket2.c
parentjust include <mips/spinlock.h> so <machine/spinlock.h> works for libc_r (diff)
downloadwireguard-openbsd-f2441411ff131087bddedaeb25c6f342bc120fd3.tar.xz
wireguard-openbsd-f2441411ff131087bddedaeb25c6f342bc120fd3.zip
Fixes select(2)/accept(2) race condition which permits DoS; mycroft@netbsd.org
Diffstat (limited to 'sys/kern/uipc_socket2.c')
-rw-r--r--sys/kern/uipc_socket2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c
index 4cbca6650f9..aa09a7ab148 100644
--- a/sys/kern/uipc_socket2.c
+++ b/sys/kern/uipc_socket2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uipc_socket2.c,v 1.7 1998/02/14 10:55:09 deraadt Exp $ */
+/* $OpenBSD: uipc_socket2.c,v 1.8 1999/01/21 03:27:42 millert Exp $ */
/* $NetBSD: uipc_socket2.c,v 1.11 1996/02/04 02:17:55 christos Exp $ */
/*
@@ -135,7 +135,7 @@ soisdisconnected(so)
{
so->so_state &= ~(SS_ISCONNECTING|SS_ISCONNECTED|SS_ISDISCONNECTING);
- so->so_state |= (SS_CANTRCVMORE|SS_CANTSENDMORE);
+ so->so_state |= (SS_CANTRCVMORE|SS_CANTSENDMORE|SS_ISDISCONNECTED);
wakeup((caddr_t)&so->so_timeo);
sowwakeup(so);
sorwakeup(so);