summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2014-06-23 07:56:39 +0000
committertuexen <tuexen@FreeBSD.org>2014-06-23 07:56:39 +0000
commitba54ed0f05ed3b37a63427d2eb3b57fd8bdf585f (patch)
tree2b3f46a237a1063a18ea12617fa4ad9edb76d55d /sys/netinet
parent41ae4ee23b1f12bd4544ec3a0771f62879b454c1 (diff)
downloadFreeBSD-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.c6
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) {
OpenPOWER on IntegriCloud