From: Vlad Yasevich <vladislav.yasevich@hp.com>
Date: Sat, 1 May 2010 01:42:42 +0000 (-0400)
Subject: sctp: Use correct address family in sctp_getsockopt_peer_addrs()
X-Git-Tag: firefly_0821_release~9833^2~2087^2~287^2~19
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a5f4cea74f1397bb29d0bbdabeb05bd05a23a741;p=firefly-linux-kernel-4.4.55.git

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>
---

diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index 13d8229f3a9c..1282a0ed855e 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -4384,7 +4384,7 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
 				transports) {
 		memcpy(&temp, &from->ipaddr, sizeof(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)
 			return -ENOMEM;
 		if (copy_to_user(to, &temp, addrlen))