On Mon, Aug 08, 2016 at 09:57:58PM +0800, Liping Zhang wrote: > From: Liping Zhang <liping.zhang@xxxxxxxxxxxxxx> > > The 'name' filed in struct nf_conntrack_expect_policy{} is not a > pointer, so check it is NULL or not will always return true. Even if the > name is empty, slash will always be displayed like follows: > # cat /proc/net/nf_conntrack_expect > 297 l3proto = 2 proto=6 src=1.1.1.1 dst=2.2.2.2 sport=1 dport=1025 ftp/ > ^ > > Fixes: 3a8fc53a45c4 ("netfilter: nf_ct_helper: allocate 16 bytes for the helper and policy names") > Signed-off-by: Liping Zhang <liping.zhang@xxxxxxxxxxxxxx> > --- > net/netfilter/nf_conntrack_expect.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/netfilter/nf_conntrack_expect.c b/net/netfilter/nf_conntrack_expect.c > index 9e36931..a4f3cc8 100644 > --- a/net/netfilter/nf_conntrack_expect.c > +++ b/net/netfilter/nf_conntrack_expect.c > @@ -574,7 +574,7 @@ static int exp_seq_show(struct seq_file *s, void *v) > helper = rcu_dereference(nfct_help(expect->master)->helper); > if (helper) { > seq_printf(s, "%s%s", expect->flags ? " " : "", helper->name); > - if (helper->expect_policy[expect->class].name) > + if (helper->expect_policy[expect->class].name[0] != '\0') Good catch. I can simplify this here to: if (helper->expect_policy[expect->class].name[0]) We use similar idiom in other locations in the netfilter code. No need to resend if OK with it. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html