[SCTP]: sctp_init_addrs() switched to net-endian.
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 21 Nov 2006 01:09:01 +0000 (17:09 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:26:42 +0000 (21:26 -0800)
Caller adjusted.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/input.c
net/sctp/sm_make_chunk.c

index 85b3441..0e5ac5e 100644 (file)
@@ -245,7 +245,7 @@ int sctp_rcv(struct sk_buff *skb)
        chunk->sctp_hdr = sh;
 
        /* Set the source and destination addresses of the incoming chunk.  */
-       sctp_init_addrs(chunk, &src, &dest);
+       sctp_init_addrs(chunk, &tmp2, &tmp);
 
        /* Remember where we came from.  */
        chunk->transport = transport;
index cb8cecd..b5d4a61 100644 (file)
@@ -1031,9 +1031,9 @@ nodata:
 void sctp_init_addrs(struct sctp_chunk *chunk, union sctp_addr *src,
                     union sctp_addr *dest)
 {
-       memcpy(&chunk->source_h, src, sizeof(union sctp_addr));
-       flip_to_n(&chunk->source, &chunk->source_h);
-       memcpy(&chunk->dest, dest, sizeof(union sctp_addr));
+       memcpy(&chunk->source, src, sizeof(union sctp_addr));
+       flip_to_h(&chunk->source_h, &chunk->source);
+       flip_to_h(&chunk->dest, dest);
 }
 
 /* Extract the source address from a chunk.  */