linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 5.1] rtw88: fix subscript above array bounds compiler warning
@ 2019-05-06  7:39 Stanislaw Gruszka
  2019-05-06  8:29 ` Tony Chuang
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Stanislaw Gruszka @ 2019-05-06  7:39 UTC (permalink / raw)
  To: linux-wireless; +Cc: Yan-Hsuan Chuang

My compiler complains about:

drivers/net/wireless/realtek/rtw88/phy.c: In function ‘rtw_phy_rf_power_2_rssi’:
drivers/net/wireless/realtek/rtw88/phy.c:430:26: warning: array subscript is above array bounds [-Warray-bounds]
  linear = db_invert_table[i][j];

According to comment power_db should be in range 1 ~ 96 .
To fix add check for boundaries before access the array.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
RFC -> v1
- add check before accessing the array insted of
  rtw_phy_power_2_db() change.
v1 -> v2:
- return 1 for power_db < 1

 drivers/net/wireless/realtek/rtw88/phy.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index 4381b360b5b5..9ca52a4d025a 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -423,6 +423,11 @@ static u64 rtw_phy_db_2_linear(u8 power_db)
 	u8 i, j;
 	u64 linear;
 
+	if (power_db > 96)
+		power_db = 96;
+	else if (power_db < 1)
+		return 1;
+
 	/* 1dB ~ 96dB */
 	i = (power_db - 1) >> 3;
 	j = (power_db - 1) - (i << 3);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH 5.1] rtw88: fix subscript above array bounds compiler warning
@ 2019-05-06  6:23 Stanislaw Gruszka
  2019-05-06  6:32 ` Tony Chuang
  0 siblings, 1 reply; 8+ messages in thread
From: Stanislaw Gruszka @ 2019-05-06  6:23 UTC (permalink / raw)
  To: linux-wireless; +Cc: Yan-Hsuan Chuang

My compiler complains about:

drivers/net/wireless/realtek/rtw88/phy.c: In function ‘rtw_phy_rf_power_2_rssi’:
drivers/net/wireless/realtek/rtw88/phy.c:430:26: warning: array subscript is above array bounds [-Warray-bounds]
  linear = db_invert_table[i][j];

According to comment power_db should be in range 1 ~ 96 .
To fix add check for boundaries before access the array.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
---
RFC -> v1
- add check before accessing the array insted of
  rtw_phy_power_2_db() change.

 drivers/net/wireless/realtek/rtw88/phy.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtw88/phy.c b/drivers/net/wireless/realtek/rtw88/phy.c
index 4381b360b5b5..9ca52a4d025a 100644
--- a/drivers/net/wireless/realtek/rtw88/phy.c
+++ b/drivers/net/wireless/realtek/rtw88/phy.c
@@ -423,6 +423,11 @@ static u64 rtw_phy_db_2_linear(u8 power_db)
 	u8 i, j;
 	u64 linear;
 
+	if (power_db > 96)
+		power_db = 96;
+	else if (power_db < 1)
+		power_db = 1;
+
 	/* 1dB ~ 96dB */
 	i = (power_db - 1) >> 3;
 	j = (power_db - 1) - (i << 3);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-05-28 11:29 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-06  7:39 [PATCH 5.1] rtw88: fix subscript above array bounds compiler warning Stanislaw Gruszka
2019-05-06  8:29 ` Tony Chuang
2019-05-06  8:42 ` Stanislaw Gruszka
2019-05-28 11:29 ` Kalle Valo
  -- strict thread matches above, loose matches on Subject: below --
2019-05-06  6:23 Stanislaw Gruszka
2019-05-06  6:32 ` Tony Chuang
2019-05-06  6:43   ` Stanislaw Gruszka
2019-05-06  6:51     ` Tony Chuang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).