]> git.hungrycats.org Git - linux/commitdiff
[SCTP] Fix sctp_getladdrs()/sctp_getpaddrs() API so that the port
authorSridhar Samudrala <sri@us.ibm.com>
Fri, 13 Feb 2004 03:53:55 +0000 (19:53 -0800)
committerSridhar Samudrala <sri@us.ibm.com>
Fri, 13 Feb 2004 03:53:55 +0000 (19:53 -0800)
       value in the returned addresses is in network byte order.

net/sctp/socket.c

index 3c514b0bd79125b760e75f6602e86a912aa78684..8062d2a984afe74631ac5dfaeef36b2c8d4c605b 100644 (file)
@@ -2893,6 +2893,7 @@ static int sctp_getsockopt_peer_addrs(struct sock *sk, int len,
                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;
+               temp.v4.sin_port = htons(temp.v4.sin_port);
                if (copy_to_user(to, &temp, addrlen))
                        return -EFAULT;
                to += addrlen ;
@@ -2987,6 +2988,7 @@ static int sctp_getsockopt_local_addrs(struct sock *sk, int len,
                memcpy(&temp, &from->a, sizeof(temp));
                sctp_get_pf_specific(sk->sk_family)->addr_v4map(sp, &temp);
                addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
+               temp.v4.sin_port = htons(temp.v4.sin_port);
                if (copy_to_user(to, &temp, addrlen))
                        return -EFAULT;
                to += addrlen;