mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 22:54:01 +00:00
wifi: mt76: fix coverity overrun-call in mt76_get_txpower()
Make sure the nss is valid for nss_delta array. Return zero
if the index is invalid.
Coverity message:
Event overrun-call: Overrunning callee's array of size 4 by passing
argument "n_chains" (which evaluates to 15) in call to
"mt76_tx_power_nss_delta".
int delta = mt76_tx_power_nss_delta(n_chains);
Fixes: 07cda40630
("mt76: fix rounding issues on converting per-chain and combined txpower")
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
98686cd216
commit
03dd0d49de
1 changed files with 2 additions and 1 deletions
|
@ -1110,8 +1110,9 @@ static inline bool mt76_is_skb_pktid(u8 pktid)
|
|||
static inline u8 mt76_tx_power_nss_delta(u8 nss)
|
||||
{
|
||||
static const u8 nss_delta[4] = { 0, 6, 9, 12 };
|
||||
u8 idx = nss - 1;
|
||||
|
||||
return nss_delta[nss - 1];
|
||||
return (idx < ARRAY_SIZE(nss_delta)) ? nss_delta[idx] : 0;
|
||||
}
|
||||
|
||||
static inline bool mt76_testmode_enabled(struct mt76_phy *phy)
|
||||
|
|
Loading…
Reference in a new issue