Messages in this thread | | | Date | Thu, 10 Jan 2013 12:18:21 +0100 | From | Borislav Petkov <> | Subject | v3.8-rc3: uninitialized warnings in net/netfilter/xt_CT.c |
| |
Hi,
I get
net/netfilter/xt_CT.c: In function ‘xt_ct_tg_check_v1’: net/netfilter/xt_CT.c:250:6: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized] net/netfilter/xt_CT.c: In function ‘xt_ct_tg_check_v0’: net/netfilter/xt_CT.c:112:6: warning: ‘ret’ may be used uninitialized in this function [-Wmaybe-uninitialized]
when building 3.8-rc3 here.
And this time, the warnings are real:
static int xt_ct_tg_check_v0(const struct xt_tgchk_param *par) { struct xt_ct_target_info *info = par->targinfo; struct nf_conntrack_tuple t; struct nf_conn *ct; int ret;
if (info->flags & ~XT_CT_NOTRACK) return -EINVAL;
if (info->flags & XT_CT_NOTRACK) { ct = nf_ct_untracked_get(); atomic_inc(&ct->ct_general.use); goto out; }
#ifndef CONFIG_NF_CONNTRACK_ZONES if (info->zone) goto err1; #endif ...
ret doesn't get initialized and if the first two if-blocks are false and CONFIG_NF_CONNTRACK_ZONES is not defined (as is in my case) we do "goto err1":
err1: return ret;
which returns an uninitialized 'ret'.
Now, I don't know the code to know whether if (info->zone) is ever true but someone better check this before subtle bugs start happening.
Ditto for the xt_ct_tg_check_v1() function.
Thanks.
-- Regards/Gruss, Boris.
Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |