diff options
author | tuexen <tuexen@FreeBSD.org> | 2014-06-23 07:56:39 +0000 |
---|---|---|
committer | tuexen <tuexen@FreeBSD.org> | 2014-06-23 07:56:39 +0000 |
commit | ba54ed0f05ed3b37a63427d2eb3b57fd8bdf585f (patch) | |
tree | 2b3f46a237a1063a18ea12617fa4ad9edb76d55d /sys/netinet | |
parent | 41ae4ee23b1f12bd4544ec3a0771f62879b454c1 (diff) | |
download | FreeBSD-src-ba54ed0f05ed3b37a63427d2eb3b57fd8bdf585f.zip FreeBSD-src-ba54ed0f05ed3b37a63427d2eb3b57fd8bdf585f.tar.gz |
MFC r267682:
Fix a bug in the setsockopt()-handling of the SCTP
specific option SCTP_PEER_ADDR_THLDS: Use the
provided address as intended.
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/sctp_usrreq.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/sctp_usrreq.c b/sys/netinet/sctp_usrreq.c index e8b4223..8d604ea 100644 --- a/sys/netinet/sctp_usrreq.c +++ b/sys/netinet/sctp_usrreq.c @@ -5642,7 +5642,7 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, SCTP_FIND_STCB(inp, stcb, thlds->spt_assoc_id); net = NULL; if (stcb) { - net = sctp_findnet(stcb, (struct sockaddr *)&thlds->spt_assoc_id); + net = sctp_findnet(stcb, (struct sockaddr *)&thlds->spt_address); } else { /* * We increment here since @@ -5653,7 +5653,7 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, */ SCTP_INP_INCR_REF(inp); stcb = sctp_findassociation_ep_addr(&inp, - (struct sockaddr *)&thlds->spt_assoc_id, + (struct sockaddr *)&thlds->spt_address, &net, NULL, NULL); if (stcb == NULL) { SCTP_INP_DECR_REF(inp); @@ -5662,7 +5662,7 @@ sctp_setopt(struct socket *so, int optname, void *optval, size_t optsize, if (stcb && (net == NULL)) { struct sockaddr *sa; - sa = (struct sockaddr *)&thlds->spt_assoc_id; + sa = (struct sockaddr *)&thlds->spt_address; #ifdef INET if (sa->sa_family == AF_INET) { |