X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=net%2Fipv4%2Fnetfilter%2Fipt_helper.c;h=33fdf364d3d37eab3b1e78f3586d21c4b990464b;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1ea5c1e46ba2292d2eb44e17a23b6666e028bcb0;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/net/ipv4/netfilter/ipt_helper.c b/net/ipv4/netfilter/ipt_helper.c index 1ea5c1e46..33fdf364d 100644 --- a/net/ipv4/netfilter/ipt_helper.c +++ b/net/ipv4/netfilter/ipt_helper.c @@ -38,7 +38,6 @@ match(const struct sk_buff *skb, int *hotdrop) { const struct ipt_helper_info *info = matchinfo; - struct ip_conntrack_expect *exp; struct ip_conntrack *ct; enum ip_conntrack_info ctinfo; int ret = info->invert; @@ -54,28 +53,21 @@ match(const struct sk_buff *skb, return ret; } - exp = ct->master; READ_LOCK(&ip_conntrack_lock); - if (!exp->expectant) { - DEBUGP("ipt_helper: expectation %p without expectant !?!\n", - exp); - goto out_unlock; - } - - if (!exp->expectant->helper) { + if (!ct->master->helper) { DEBUGP("ipt_helper: master ct %p has no helper\n", exp->expectant); goto out_unlock; } DEBUGP("master's name = %s , info->name = %s\n", - exp->expectant->helper->name, info->name); + ct->master->helper->name, info->name); if (info->name[0] == '\0') ret ^= 1; else - ret ^= !strncmp(exp->expectant->helper->name, info->name, - strlen(exp->expectant->helper->name)); + ret ^= !strncmp(ct->master->helper->name, info->name, + strlen(ct->master->helper->name)); out_unlock: READ_UNLOCK(&ip_conntrack_lock); return ret;