Re: [PATCH] net: netfilter/xt_CT.c: fix uninitialized variable
From: Waskiewicz Jr, Peter P
Date: Tue Jan 15 2013 - 14:06:42 EST
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Ç+·®+%Ëlzwm
ébëæìr¸zX§»®w¥{ayºÊÚë,j¢f£¢·hàz¹®w¥¢¸¢·¦j:+v¨wèjØm¶ÿ¾«êçzZ+ùÝj"ú!¶iOæ¬z·vØ^¶m§ÿðÃnÆàþY&