Jiri Slaby e7e4a0
From: Dan Carpenter <error27@gmail.com>
Jiri Slaby e7e4a0
Date: Mon, 6 Feb 2023 16:15:48 +0300
Jiri Slaby e7e4a0
Subject: wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
Jiri Slaby e7e4a0
Git-commit: 4c856ee12df85aabd437c3836ed9f68d94268358
Jiri Slaby e7e4a0
Patch-mainline: v6.4-rc1
Jiri Slaby e7e4a0
References: git-fixes
Jiri Slaby e7e4a0
Jiri Slaby e7e4a0
This loop checks that i < max at the start of loop but then it does
Jiri Slaby e7e4a0
i++ which could put it past the end of the array.  It's harmless to
Jiri Slaby e7e4a0
check again and prevent a potential out of bounds.
Jiri Slaby e7e4a0
Jiri Slaby e7e4a0
Fixes: 1048643ea94d ("ath5k: Clean up eeprom parsing and add missing calibration data")
Jiri Slaby e7e4a0
Signed-off-by: Dan Carpenter <error27@gmail.com>
Jiri Slaby e7e4a0
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Jiri Slaby e7e4a0
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Jiri Slaby e7e4a0
Link: https://lore.kernel.org/r/Y+D9hPQrHfWBJhXz@kili
Jiri Slaby e7e4a0
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby e7e4a0
---
Jiri Slaby e7e4a0
 drivers/net/wireless/ath/ath5k/eeprom.c |    2 +-
Jiri Slaby e7e4a0
 1 file changed, 1 insertion(+), 1 deletion(-)
Jiri Slaby e7e4a0
Jiri Slaby e7e4a0
--- a/drivers/net/wireless/ath/ath5k/eeprom.c
Jiri Slaby e7e4a0
+++ b/drivers/net/wireless/ath/ath5k/eeprom.c
Jiri Slaby e7e4a0
@@ -529,7 +529,7 @@ ath5k_eeprom_read_freq_list(struct ath5k
Jiri Slaby e7e4a0
 		ee->ee_n_piers[mode]++;
Jiri Slaby e7e4a0
 
Jiri Slaby e7e4a0
 		freq2 = (val >> 8) & 0xff;
Jiri Slaby e7e4a0
-		if (!freq2)
Jiri Slaby e7e4a0
+		if (!freq2 || i >= max)
Jiri Slaby e7e4a0
 			break;
Jiri Slaby e7e4a0
 
Jiri Slaby e7e4a0
 		pc[i++].freq = ath5k_eeprom_bin2freq(ee,