]> err.no Git - linux-2.6/blobdiff - net/ipv4/netfilter/ip_nat_standalone.c
[NETFILTER]: Fix check whether dst_entry needs to be released after NAT
[linux-2.6] / net / ipv4 / netfilter / ip_nat_standalone.c
index 8b8a1f00bbf4407e2a8f09d17831dae33fcd656f..92c54999a19d023d049af354123b096839757aad 100644 (file)
@@ -209,8 +209,8 @@ ip_nat_in(unsigned int hooknum,
            && (ct = ip_conntrack_get(*pskb, &ctinfo)) != NULL) {
                enum ip_conntrack_dir dir = CTINFO2DIR(ctinfo);
 
-               if (ct->tuplehash[dir].tuple.src.ip !=
-                   ct->tuplehash[!dir].tuple.dst.ip) {
+               if (ct->tuplehash[dir].tuple.dst.ip !=
+                   ct->tuplehash[!dir].tuple.src.ip) {
                        dst_release((*pskb)->dst);
                        (*pskb)->dst = NULL;
                }
@@ -364,7 +364,7 @@ static int init_or_cleanup(int init)
 {
        int ret = 0;
 
-       need_ip_conntrack();
+       need_conntrack();
 
        if (!init) goto cleanup;