p54: fix a null pointer dereference bug
authorFelix Fietkau <nbd@openwrt.org>
Sun, 27 Feb 2011 20:50:45 +0000 (20:50 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 27 Feb 2011 20:50:45 +0000 (20:50 +0000)
SVN-Revision: 25775

package/mac80211/patches/710-p54_rssi_crash_fix.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/710-p54_rssi_crash_fix.patch b/package/mac80211/patches/710-p54_rssi_crash_fix.patch
new file mode 100644 (file)
index 0000000..73089cd
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/drivers/net/wireless/p54/eeprom.c
++++ b/drivers/net/wireless/p54/eeprom.c
+@@ -524,10 +524,13 @@ err_data:
+ 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 +
+-                                                 priv->rssi_db->offset);
++      struct p54_rssi_db_entry *entry;
+       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++) {
+               if (!same_band(freq, entry[i].freq))
+                       continue;