Message ID | 20121202103609.GA16078@elgon.mountain (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
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.carpenter@oracle.com> Acked-by: Christian Lamparter <chunkeey@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-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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; }
"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.carpenter@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html