mt76: fix possible out-of-bound access in mt7615_fill_txs/mt7603_fill_txs
Fix possible out-of-bound access of status rates array in mt7615_fill_txs/mt7603_fill_txs routines Fixes:c5211e997e
("mt76: mt7603: rework and fix tx status reporting") Fixes:4af81f02b4
("mt76: mt7615: sync with mt7603 rate control changes") Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
Родитель
45876d6ebb
Коммит
e8b970c8e3
|
@ -1136,8 +1136,10 @@ mt7603_fill_txs(struct mt7603_dev *dev, struct mt7603_sta *sta,
|
|||
if (idx && (cur_rate->idx != info->status.rates[i].idx ||
|
||||
cur_rate->flags != info->status.rates[i].flags)) {
|
||||
i++;
|
||||
if (i == ARRAY_SIZE(info->status.rates))
|
||||
if (i == ARRAY_SIZE(info->status.rates)) {
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
||||
info->status.rates[i] = *cur_rate;
|
||||
info->status.rates[i].count = 0;
|
||||
|
|
|
@ -1039,8 +1039,10 @@ static bool mt7615_fill_txs(struct mt7615_dev *dev, struct mt7615_sta *sta,
|
|||
if (idx && (cur_rate->idx != info->status.rates[i].idx ||
|
||||
cur_rate->flags != info->status.rates[i].flags)) {
|
||||
i++;
|
||||
if (i == ARRAY_SIZE(info->status.rates))
|
||||
if (i == ARRAY_SIZE(info->status.rates)) {
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
||||
info->status.rates[i] = *cur_rate;
|
||||
info->status.rates[i].count = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче