All of lore.kernel.org
 help / color / mirror / Atom feed
* Possible problem in sctp_getsockopt_peer_addrs (and similar functions)
@ 2010-02-19  9:46 Sebastien Decugis
  2010-02-19 13:25 ` Vlad Yasevich
  0 siblings, 1 reply; 2+ messages in thread
From: Sebastien Decugis @ 2010-02-19  9:46 UTC (permalink / raw)
  To: linux-sctp

Hello list,

I think there is a problem in sctp_getsockopt_peer_addrs function in
net/sctp/socket.c.

I run into the problem when I call sctp_getpaddrs in userland, with a
buffer containing IPv4 address followed by IPv6. The address buffer I
receive cannot be parsed. After correctly reading the first address, I
am not aligned correctly when I move my pointer forward by sizeof(struct
sockaddr_in), to read the next address. I am not using mapped addresses.
I believe the source of the problem being the following code:

list_for_each_entry(from, &asoc->peer.transport_addr_list,
                              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;

In this last line, shouldn't the address be dependent on the address
family of &temp, rather than the socket ?

Sorry if the format of my mail is not good, it is my first post here...
I am also not subscribed to this list, so please CC me in any answer.

Best regards,
Sebastien.

-- 
Sebastien Decugis
Research fellow
Network Architecture Group
NICT (nict.go.jp)


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-02-19 13:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-19  9:46 Possible problem in sctp_getsockopt_peer_addrs (and similar functions) Sebastien Decugis
2010-02-19 13:25 ` Vlad Yasevich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.