[patch] Staging: rtl8192e: off by one in rtl8192_get_channel_map()

Larry Finger Larry.Finger at lwfinger.net
Wed Sep 21 08:33:34 PDT 2011


On 09/21/2011 02:17 AM, Dan Carpenter wrote:
> COUNTRY_CODE_MAX is not a valid country code.  We're off by one here.
> This gets passed to Dot11d_Channelmap() where it's used as an offset
> into the ChannelPlan[] array.
>
> Signed-off-by: Dan Carpenter<dan.carpenter at oracle.com>

Signed-off-by: Larry Finger <Larry.Finger at lwfinger.net>

Dan, good catch.  Did this cause a problem, or did you find it while reading the 
code?

Larry


>
> diff --git a/drivers/staging/rtl8192e/rtl_core.c b/drivers/staging/rtl8192e/rtl_core.c
> index 6530058..1beb04f 100644
> --- a/drivers/staging/rtl8192e/rtl_core.c
> +++ b/drivers/staging/rtl8192e/rtl_core.c
> @@ -1308,7 +1308,7 @@ static short rtl8192_get_channel_map(struct net_device *dev)
>   		return -1;
>   	}
>
> -	if (priv->ChannelPlan>  COUNTRY_CODE_MAX) {
> +	if (priv->ChannelPlan>= COUNTRY_CODE_MAX) {
>   		printk(KERN_INFO "rtl819x_init:Error channel plan! Set to "
>   		       "default.\n");
>   		priv->ChannelPlan = COUNTRY_CODE_FCC;
>



More information about the devel mailing list