diff options
author | rrs <rrs@FreeBSD.org> | 2007-03-20 10:23:11 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-03-20 10:23:11 +0000 |
commit | eecb0a8aa72ff92a9cc4881892c8fa117737ad7f (patch) | |
tree | c1ac41de5e74c6da148fd963903611df770236c1 /sys/netinet/sctp_usrreq.c | |
parent | e588f34e9ccbae45abec18203973bfaeb542187d (diff) | |
download | FreeBSD-src-eecb0a8aa72ff92a9cc4881892c8fa117737ad7f.zip FreeBSD-src-eecb0a8aa72ff92a9cc4881892c8fa117737ad7f.tar.gz |
- window update sacks sent incorrectly after
shutdown which caused extra abort from peer.
- RTT time calculation was not being done in
express sack handling since it refered to an unused
variable (rto_pending). Removed variable.
- socket buffer high water access macro-ized.
Diffstat (limited to 'sys/netinet/sctp_usrreq.c')
-rw-r--r-- | sys/netinet/sctp_usrreq.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index 82c952e..9899671 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -2422,6 +2422,10 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, uint32_t *value; SCTP_CHECK_AND_CAST(value, optval, uint32_t, optsize); + if (*value > SCTP_SB_LIMIT_RCV(so)) { + error = EINVAL; + break; + } inp->partial_delivery_point = *value; } break; |