aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@computergmbh.de>2008-02-19 20:20:06 -0500
committerDavid S. Miller <davem@davemloft.net>2008-02-19 20:20:06 -0500
commit27ecb1ff0afa2260e6856c05efd6fedcd0cc76b9 (patch)
tree0fe60b33e9479ed8fe8e98b2f9860e8ffef0a312 /net
parent7d9904c2604ce091c97c225b5e2f92f3e7cc2e3a (diff)
[NETFILTER]: xt_iprange: fix subtraction-based comparison
The host address parts need to be converted to host-endian first before arithmetic makes any sense on them. Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/xt_iprange.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/xt_iprange.c b/net/netfilter/xt_iprange.c
index 4f984dc60319..500528d60cd7 100644
--- a/net/netfilter/xt_iprange.c
+++ b/net/netfilter/xt_iprange.c
@@ -102,7 +102,7 @@ iprange_ipv6_sub(const struct in6_addr *a, const struct in6_addr *b)
102 int r; 102 int r;
103 103
104 for (i = 0; i < 4; ++i) { 104 for (i = 0; i < 4; ++i) {
105 r = (__force u32)a->s6_addr32[i] - (__force u32)b->s6_addr32[i]; 105 r = ntohl(a->s6_addr32[i]) - ntohl(b->s6_addr32[i]);
106 if (r != 0) 106 if (r != 0)
107 return r; 107 return r;
108 } 108 }