On Tue, 2013-01-15 at 19:58 +0100, Cong Ding wrote: > If CONFIG_NF_CONNTRACK_ZONES is not defined, the variable ret might be > uninitialized when it goes to err1 through line 125 and 263 respectively. > So I change these goto err1 to return -EINVAL directly. > > Signed-off-by: Cong Ding <dinggnu@xxxxxxxxx> > --- > net/netfilter/xt_CT.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/netfilter/xt_CT.c b/net/netfilter/xt_CT.c > index 2a08430..941f600 100644 > --- a/net/netfilter/xt_CT.c > +++ b/net/netfilter/xt_CT.c > @@ -122,7 +122,7 @@ static int xt_ct_tg_check_v0(const struct xt_tgchk_param *par) > > #ifndef CONFIG_NF_CONNTRACK_ZONES > if (info->zone) > - goto err1; > + return -EINVAL; > #endif > > ret = nf_ct_l3proto_try_module_get(par->family); > @@ -260,7 +260,7 @@ static int xt_ct_tg_check_v1(const struct xt_tgchk_param *par) > > #ifndef CONFIG_NF_CONNTRACK_ZONES > if (info->zone) > - goto err1; > + return -EINVAL; > #endif In dropping both goto's, you left the err1 label unused. Wouldn't just initializing ret to -EINVAL be easier and cleaner? Then you wouldn't be messing with the flow of the function. -PJ ��.n��������+%������w��{.n����z�����n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�