summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_indata.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2008-01-28 10:25:43 +0000
committerrrs <rrs@FreeBSD.org>2008-01-28 10:25:43 +0000
commit13897491cf6e6e0e91057676fd87677fb658a01a (patch)
tree379a1dd3057a5cee9676b47693dac400915c5123 /sys/netinet/sctp_indata.c
parent3043fa2dcad55ad5c0c175bbd66df5dd259e697a (diff)
downloadFreeBSD-src-13897491cf6e6e0e91057676fd87677fb658a01a.zip
FreeBSD-src-13897491cf6e6e0e91057676fd87677fb658a01a.tar.gz
- Fixes a comparison wrap issue with sack gap ack blocks that
span the 32 bit roll over mark.
Diffstat (limited to 'sys/netinet/sctp_indata.c')
-rw-r--r--sys/netinet/sctp_indata.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/sctp_indata.c b/sys/netinet/sctp_indata.c
index a7f43da..1c9c385 100644
--- a/sys/netinet/sctp_indata.c
+++ b/sys/netinet/sctp_indata.c
@@ -2874,7 +2874,7 @@ sctp_handle_segments(struct mbuf *m, int *offset, struct sctp_tcb *stcb, struct
}
last_frag_high = frag_end + last_tsn;
}
- for (j = frag_strt + last_tsn; j <= frag_end + last_tsn; j++) {
+ for (j = frag_strt + last_tsn; (compare_with_wrap((frag_end + last_tsn), j, MAX_TSN)); j++) {
while (tp1) {
if (tp1->rec.data.doing_fast_retransmit)
num_frs++;
OpenPOWER on IntegriCloud