Skip to content

Commit 88776ab

Browse files
committed
wifi6: Fix panic on malformed wifi6 IE on Nl80211HeMcsNssSupp
In real environment, I got a malformed 15 bytes wifi IE for Nl80211HeMcsNssSupp. Fixed by only copy at most 12 bytes as IEEE 802.11-2024 suggested. Signed-off-by: Gris Ge <[email protected]>
1 parent 32d6951 commit 88776ab

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/wifi6.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -456,7 +456,12 @@ impl Nl80211ElementHeCap {
456456
let remains = &buf[offset..];
457457
let mut raw = vec![0u8; Nl80211HeMcsNssSupp::LENGTH];
458458

459-
raw[..remains.len()].copy_from_slice(remains);
459+
if remains.len() > Nl80211HeMcsNssSupp::LENGTH {
460+
raw[..Nl80211HeMcsNssSupp::LENGTH]
461+
.copy_from_slice(&remains[..Nl80211HeMcsNssSupp::LENGTH]);
462+
} else {
463+
raw[..remains.len()].copy_from_slice(remains);
464+
}
460465

461466
let mcs_nss_set = Nl80211HeMcsNssSupp::parse(&raw)?;
462467

0 commit comments

Comments
 (0)