On Sunday 02 December 2012 11:36:09 Dan Carpenter wrote:
> "entries" is unsigned here, so it is never less than zero.  In theory,
> len could be less than offset so I have added a check for that.
> 
> Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>
Acked-by: Christian Lamparter <chunk...@googlemail.com>

> diff --git a/drivers/net/wireless/p54/eeprom.c 
> b/drivers/net/wireless/p54/eeprom.c
> index 1ef1bfe..d43e374 100644
> --- a/drivers/net/wireless/p54/eeprom.c
> +++ b/drivers/net/wireless/p54/eeprom.c
> @@ -541,8 +541,9 @@ static int p54_parse_rssical(struct ieee80211_hw *dev,
>               entries = (len - offset) /
>                       sizeof(struct pda_rssi_cal_ext_entry);
>  
> -             if ((len - offset) % sizeof(struct pda_rssi_cal_ext_entry) ||
> -                 entries <= 0) {
> +             if (len < offset ||
> +                 (len - offset) % sizeof(struct pda_rssi_cal_ext_entry) ||
> +                 entries == 0) {
>                       wiphy_err(dev->wiphy, "invalid rssi database.\n");
>                       goto err_data;
>               }
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to