]> git.hungrycats.org Git - linux/commitdiff
[NETFILTER]: One missed case in arp_tables.c unaligned fixes.
authorAntti P. Miettinen <apm@brigitte.dna.fi>
Sat, 28 Aug 2004 15:55:25 +0000 (08:55 -0700)
committerDavid S. Miller <davem@kernel.bkbits.net>
Sat, 28 Aug 2004 15:55:25 +0000 (08:55 -0700)
Signed-off-by: Antti P Miettinen <apm@brigitte.dna.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/arp_tables.c

index d4613f851fe47c466c028c114fe3a859472ba50e..f2b3e7e5bb18cb748e10801b6154b09272cd84b6 100644 (file)
@@ -193,7 +193,10 @@ static inline int arp_packet_match(const struct arphdr *arphdr,
        }
 
        for (i = 0, ret = 0; i < IFNAMSIZ/sizeof(unsigned long); i++) {
-               ret |= (((const unsigned long *)outdev)[i]
+               unsigned long odev;
+               memcpy(&odev, outdev + i*sizeof(unsigned long),
+                      sizeof(unsigned long));
+               ret |= (odev
                        ^ ((const unsigned long *)arpinfo->outiface)[i])
                        & ((const unsigned long *)arpinfo->outiface_mask)[i];
        }