Commit a5a7103f authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville

p54: fix a NULL pointer dereference bug

If the RSSI calibration table was not found or not parsed properly,
priv->rssi_db will be NULL, p54_rssi_find needs to be able to deal
with that.
Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Acked-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c2a7dca0
...@@ -524,10 +524,13 @@ static int p54_parse_rssical(struct ieee80211_hw *dev, ...@@ -524,10 +524,13 @@ static int p54_parse_rssical(struct ieee80211_hw *dev,
struct p54_rssi_db_entry *p54_rssi_find(struct p54_common *priv, const u16 freq) struct p54_rssi_db_entry *p54_rssi_find(struct p54_common *priv, const u16 freq)
{ {
struct p54_rssi_db_entry *entry = (void *)(priv->rssi_db->data + struct p54_rssi_db_entry *entry;
priv->rssi_db->offset);
int i, found = -1; int i, found = -1;
if (!priv->rssi_db)
return &p54_rssi_default;
entry = (void *)(priv->rssi_db->data + priv->rssi_db->offset);
for (i = 0; i < priv->rssi_db->entries; i++) { for (i = 0; i < priv->rssi_db->entries; i++) {
if (!same_band(freq, entry[i].freq)) if (!same_band(freq, entry[i].freq))
continue; continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment