summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/uipc_socket.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 9b6c423..dc20608 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -2136,8 +2136,10 @@ soo_kqfilter(struct file *fp, struct knote *kn)
case EVFILT_READ:
if (so->so_options & SO_ACCEPTCONN)
kn->kn_fop = &solisten_filtops;
- else
+ else if (so->so_state & SS_ISCONNECTED)
kn->kn_fop = &soread_filtops;
+ else
+ return (EINVAL);
sb = &so->so_rcv;
break;
case EVFILT_WRITE:
OpenPOWER on IntegriCloud