diff options
author | Dan Carpenter <error27@gmail.com> | 2023-02-06 16:15:48 +0300 |
---|---|---|
committer | Kalle Valo <quic_kvalo@quicinc.com> | 2023-02-22 11:56:30 +0200 |
commit | 4c856ee12df85aabd437c3836ed9f68d94268358 (patch) | |
tree | d51cb5eaf3758505e147281371b41a2d2b3f5afa | |
parent | 95c95251d0547b46d6571e4fbd51b42865c15a4a (diff) | |
download | lwn-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.c | 2 |
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, |