summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2023-02-06 16:15:48 +0300
committerKalle Valo <quic_kvalo@quicinc.com>2023-02-22 11:56:30 +0200
commit4c856ee12df85aabd437c3836ed9f68d94268358 (patch)
treed51cb5eaf3758505e147281371b41a2d2b3f5afa
parent95c95251d0547b46d6571e4fbd51b42865c15a4a (diff)
downloadlwn-4c856ee12df85aabd437c3836ed9f68d94268358.tar.gz
lwn-4c856ee12df85aabd437c3836ed9f68d94268358.zip
wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
This loop checks that i < max at the start of loop but then it does i++ which could put it past the end of the array. It's harmless to check again and prevent a potential out of bounds. Fixes: 1048643ea94d ("ath5k: Clean up eeprom parsing and add missing calibration data") Signed-off-by: Dan Carpenter <error27@gmail.com> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/Y+D9hPQrHfWBJhXz@kili
-rw-r--r--drivers/net/wireless/ath/ath5k/eeprom.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath5k/eeprom.c b/drivers/net/wireless/ath/ath5k/eeprom.c
index d444b3d70ba2..58d3e86f6256 100644
--- a/drivers/net/wireless/ath/ath5k/eeprom.c
+++ b/drivers/net/wireless/ath/ath5k/eeprom.c
@@ -529,7 +529,7 @@ ath5k_eeprom_read_freq_list(struct ath5k_hw *ah, int *offset, int max,
ee->ee_n_piers[mode]++;
freq2 = (val >> 8) & 0xff;
- if (!freq2)
+ if (!freq2 || i >= max)
break;
pc[i++].freq = ath5k_eeprom_bin2freq(ee,