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

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
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;