diff --git a/sys/kern/uipc_socket2.c b/sys/kern/uipc_socket2.c --- a/sys/kern/uipc_socket2.c +++ b/sys/kern/uipc_socket2.c @@ -250,7 +250,7 @@ soclrstate(so, SS_ISCONNECTING | SS_ISDISCONNECTING | SS_ISCONFIRMING); sosetstate(so, SS_ISCONNECTED); if (head && (so->so_state & SS_INCOMP)) { - if ((so->so_options & SO_ACCEPTFILTER) != 0) { + if ((head->so_options & SO_ACCEPTFILTER) != 0 && head->so_accf != NULL) { so->so_upcall = head->so_accf->so_accept_filter->accf_callback; so->so_upcallarg = head->so_accf->so_accept_filter_arg; atomic_set_int(&so->so_rcv.ssb_flags, SSB_UPCALL);