OSDN Git Service

netfilter: nf_nat: don't check if the tuple is unique when there isn't any other...
[uclinux-h8/linux.git] / net / ipv4 / netfilter / nf_nat_proto_icmp.c
index 97003fe..5744c3e 100644 (file)
@@ -42,10 +42,10 @@ icmp_unique_tuple(struct nf_conntrack_tuple *tuple,
        if (!(range->flags & IP_NAT_RANGE_PROTO_SPECIFIED))
                range_size = 0xFFFF;
 
-       for (i = 0; i < range_size; i++, id++) {
+       for (i = 0; ; ++id) {
                tuple->src.u.icmp.id = htons(ntohs(range->min.icmp.id) +
                                             (id % range_size));
-               if (!nf_nat_used_tuple(tuple, ct))
+               if (++i == range_size || !nf_nat_used_tuple(tuple, ct))
                        return;
        }
        return;