summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_pcb.c
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2011-06-16 12:24:02 +0000
committerhrs <hrs@FreeBSD.org>2011-06-16 12:24:02 +0000
commit7afd303ca9e45353e1af220a988ddac723fde355 (patch)
tree356c3cc3903b4ba969f103c2c6ccc21fc748bdaa /sys/netinet/sctp_pcb.c
parentb2a6f5600367e61c439c79db2317d4619960e2ce (diff)
parentcc8fba8d7c933e32931cfc80150a2ed465e70825 (diff)
downloadFreeBSD-src-7afd303ca9e45353e1af220a988ddac723fde355.zip
FreeBSD-src-7afd303ca9e45353e1af220a988ddac723fde355.tar.gz
Merge from HEAD@222977.
Diffstat (limited to 'sys/netinet/sctp_pcb.c')
-rw-r--r--sys/netinet/sctp_pcb.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/netinet/sctp_pcb.c b/sys/netinet/sctp_pcb.c
index e53e28a..8dc01cd 100644
--- a/sys/netinet/sctp_pcb.c
+++ b/sys/netinet/sctp_pcb.c
@@ -4196,11 +4196,11 @@ try_again:
return (0);
}
/*
- * We don't allow assoc id to be 0, this is needed otherwise if the
- * id were to wrap we would have issues with some socket options.
+ * We don't allow assoc id to be one of SCTP_FUTURE_ASSOC,
+ * SCTP_CURRENT_ASSOC and SCTP_ALL_ASSOC.
*/
- if (inp->sctp_associd_counter == 0) {
- inp->sctp_associd_counter++;
+ if (inp->sctp_associd_counter <= SCTP_ALL_ASSOC) {
+ inp->sctp_associd_counter = SCTP_ALL_ASSOC + 1;
}
id = inp->sctp_associd_counter;
inp->sctp_associd_counter++;
@@ -4793,7 +4793,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tcb *stcb, int from_inpcbfre
/* Held for PD-API clear that. */
sq->pdapi_aborted = 1;
sq->held_length = 0;
- if (sctp_is_feature_on(inp, SCTP_PCB_FLAGS_PDAPIEVNT) && (so != NULL)) {
+ if (sctp_stcb_is_feature_on(inp, stcb, SCTP_PCB_FLAGS_PDAPIEVNT) && (so != NULL)) {
/*
* Need to add a PD-API
* aborted indication.
OpenPOWER on IntegriCloud