static void sctp_v6_from_skb(union sctp_addr *addr, struct sk_buff *skb,
                             int is_saddr)
 {
-       __be16 *port;
-       struct sctphdr *sh;
+       /* Always called on head skb, so this is safe */
+       struct sctphdr *sh = sctp_hdr(skb);
+       struct sockaddr_in6 *sa = &addr->v6;
 
-       port = &addr->v6.sin6_port;
        addr->v6.sin6_family = AF_INET6;
        addr->v6.sin6_flowinfo = 0; /* FIXME */
        addr->v6.sin6_scope_id = ((struct inet6_skb_parm *)skb->cb)->iif;
 
-       /* Always called on head skb, so this is safe */
-       sh = sctp_hdr(skb);
        if (is_saddr) {
-               *port  = sh->source;
-               addr->v6.sin6_addr = ipv6_hdr(skb)->saddr;
+               sa->sin6_port = sh->source;
+               sa->sin6_addr = ipv6_hdr(skb)->saddr;
        } else {
-               *port = sh->dest;
-               addr->v6.sin6_addr = ipv6_hdr(skb)->daddr;
+               sa->sin6_port = sh->dest;
+               sa->sin6_addr = ipv6_hdr(skb)->daddr;
        }
 }
 
 
 static void sctp_v4_from_skb(union sctp_addr *addr, struct sk_buff *skb,
                             int is_saddr)
 {
-       void *from;
-       __be16 *port;
-       struct sctphdr *sh;
+       /* Always called on head skb, so this is safe */
+       struct sctphdr *sh = sctp_hdr(skb);
+       struct sockaddr_in *sa = &addr->v4;
 
-       port = &addr->v4.sin_port;
        addr->v4.sin_family = AF_INET;
 
-       /* Always called on head skb, so this is safe */
-       sh = sctp_hdr(skb);
        if (is_saddr) {
-               *port  = sh->source;
-               from = &ip_hdr(skb)->saddr;
+               sa->sin_port = sh->source;
+               sa->sin_addr.s_addr = ip_hdr(skb)->saddr;
        } else {
-               *port = sh->dest;
-               from = &ip_hdr(skb)->daddr;
+               sa->sin_port = sh->dest;
+               sa->sin_addr.s_addr = ip_hdr(skb)->daddr;
        }
-       memcpy(&addr->v4.sin_addr.s_addr, from, sizeof(struct in_addr));
 }
 
 /* Initialize an sctp_addr from a socket. */