Subject: Re: [PATCH 2/3] netfilter: potential null derefence.

From: Pablo Neira Ayuso <[email-masked]>
Date: Fri, 2 Mar 2012 02:22:08 +0100

On Thu, Mar 01, 2012 at 02:47:14PM +0530, santosh nayak wrote:
> From: Santosh Nayak <[email-masked]>
> 
> I am getting following error.
> " net/bridge/netfilter/ebtables.c:269 ebt_do_table()
>   error: potential null derefence 'cs'"
> 
>     i = cs[sp].n;  // If cs == Null then this will cause problem.
> 
> Signed-off-by: Santosh Nayak <[email-masked]>
> ---
>  net/bridge/netfilter/ebtables.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c
> index f3fcbd9..9c0f177 100644
> --- a/net/bridge/netfilter/ebtables.c
> +++ b/net/bridge/netfilter/ebtables.c
> @@ -209,8 +209,10 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff *skb,
>  	   smp_processor_id());
>  	if (private->chainstack)
>  		cs = private->chainstack[smp_processor_id()];
> -	else
> +	else {
>  		cs = NULL;

I just noticed we can remove this cs = NULL. No need to resend, I'll
mangle it myself.

> +		goto out;
> +	}
>  	chaininfo = private->hook_entry[hook];
>  	nentries = private->hook_entry[hook]->nentries;
>  	point = (struct ebt_entry *)(private->hook_entry[hook]->data);
> @@ -313,6 +315,7 @@ letscontinue:
>  		read_unlock_bh(&table->lock);
>  		return NF_ACCEPT;
>  	}
> +out:
>  	read_unlock_bh(&table->lock);
>  	return NF_DROP;
>  }
> -- 
> 1.7.4.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe netfilter" in
> the body of a message to [email-masked]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html