summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_socket.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-07-11 23:18:28 +0000
committerrwatson <rwatson@FreeBSD.org>2006-07-11 23:18:28 +0000
commit2137fc50e63deaaa5b157d30cad71e58e711f606 (patch)
tree929b63820e4c3cfe7ce25a1c573b885f1b5ce22d /sys/kern/uipc_socket.c
parentb7a5696a9bda1d0dfd383a3ac205be5a490d5ccb (diff)
downloadFreeBSD-src-2137fc50e63deaaa5b157d30cad71e58e711f606.zip
FreeBSD-src-2137fc50e63deaaa5b157d30cad71e58e711f606.tar.gz
Several protocol switch functions (pru_abort, pru_detach, pru_sosetlabel)
return void, so don't implement no-op versions of these functions. Instead, consistently check if those switch pointers are NULL before invoking them.
Diffstat (limited to 'sys/kern/uipc_socket.c')
-rw-r--r--sys/kern/uipc_socket.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index 879fa32..c275869 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -653,7 +653,8 @@ soclose(so)
}
drop:
- (*so->so_proto->pr_usrreqs->pru_detach)(so);
+ if (*so->so_proto->pr_usrreqs->pru_detach != NULL)
+ (*so->so_proto->pr_usrreqs->pru_detach)(so);
ACCEPT_LOCK();
SOCK_LOCK(so);
KASSERT((so->so_state & SS_NOFDREF) == 0, ("soclose: NOFDREF"));
@@ -696,7 +697,8 @@ soabort(so)
KASSERT((so->so_state & SQ_COMP) == 0, ("soabort: SQ_COMP"));
KASSERT((so->so_state & SQ_INCOMP) == 0, ("soabort: SQ_INCOMP"));
- (*so->so_proto->pr_usrreqs->pru_abort)(so);
+ if (*so->so_proto->pr_usrreqs->pru_abort != NULL)
+ (*so->so_proto->pr_usrreqs->pru_abort)(so);
ACCEPT_LOCK();
SOCK_LOCK(so);
sofree(so);
OpenPOWER on IntegriCloud