sctp: Use correct address family in sctp_getsockopt_peer_addrs()
The function should use the address family of the address when trying to determine the length of the structure. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
This commit is contained in:
parent
83d7eb2979
commit
a5f4cea74f
@ -4384,7 +4384,7 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
|
|||||||
transports) {
|
transports) {
|
||||||
memcpy(&temp, &from->ipaddr, sizeof(temp));
|
memcpy(&temp, &from->ipaddr, sizeof(temp));
|
||||||
sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
|
sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
|
||||||
addrlen = sctp_get_af_specific(sk->sk_family)->sockaddr_len;
|
addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
|
||||||
if (space_left < addrlen)
|
if (space_left < addrlen)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
if (copy_to_user(to, &temp, addrlen))
|
if (copy_to_user(to, &temp, addrlen))
|
||||||
|
Loading…
Reference in New Issue
Block a user