diff options
author | tuexen <tuexen@FreeBSD.org> | 2012-12-27 08:10:58 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2012-12-27 08:10:58 +0000 |
commit | c79f40629654ae3ef02f2fef0b10a633b5895593 (patch) | |
tree | 7bb087031f28cb4aa7d4850d6779245e39f56cd5 /sys/netinet/sctp_usrreq.c | |
parent | 9b6fdf83a837c75a5422d8b5af9e3f3d42c34a62 (diff) | |
download | FreeBSD-src-c79f40629654ae3ef02f2fef0b10a633b5895593.zip FreeBSD-src-c79f40629654ae3ef02f2fef0b10a633b5895593.tar.gz |
Some cleanups.
MFC after: 3 days
Diffstat (limited to 'sys/netinet/sctp_usrreq.c')
-rw-r--r-- | sys/netinet/sctp_usrreq.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 3d1e31d..0596f87 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -547,27 +547,21 @@ try_again: static int sctp_bind(struct socket *so, struct sockaddr *addr, struct thread *p) { - struct sctp_inpcb *inp = NULL; - int error; + struct sctp_inpcb *inp; -#ifdef INET - if (addr && addr->sa_family != AF_INET) { - /* must be a v4 address! */ - SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); - return (EINVAL); - } -#endif /* INET6 */ - if (addr && (addr->sa_len != sizeof(struct sockaddr_in))) { - SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); - return (EINVAL); - } inp = (struct sctp_inpcb *)so->so_pcb; if (inp == NULL) { SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); return (EINVAL); } - error = sctp_inpcb_bind(so, addr, NULL, p); - return (error); + if (addr != NULL) { + if ((addr->sa_family != AF_INET) || + (addr->sa_len != sizeof(struct sockaddr_in))) { + SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, EINVAL); + return (EINVAL); + } + } + return (sctp_inpcb_bind(so, addr, NULL, p)); } #endif |