]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Allow RSNXE Override element to override RSNXE contents during parsing
authorJouni Malinen <quic_jouni@quicinc.com>
Wed, 1 Nov 2023 13:27:31 +0000 (15:27 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 20 Jul 2024 18:28:28 +0000 (21:28 +0300)
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
src/common/ieee802_11_common.c

index 40a38955dcb696ea6e910e4b8bd0ceeb27c73c92..3ca1ffe7e036dcd562bdec77896126ed99f631f7 100644 (file)
@@ -3131,8 +3131,12 @@ bool ieee802_11_rsnx_capab_len(const u8 *rsnxe, size_t rsnxe_len,
 
 bool ieee802_11_rsnx_capab(const u8 *rsnxe, unsigned int capab)
 {
-       return ieee802_11_rsnx_capab_len(rsnxe ? rsnxe + 2 : NULL,
-                                        rsnxe ? rsnxe[1] : 0, capab);
+       if (!rsnxe)
+               return false;
+       if (rsnxe[0] == WLAN_EID_VENDOR_SPECIFIC && rsnxe[1] >= 4 + 1)
+               return ieee802_11_rsnx_capab_len(rsnxe + 2 + 4, rsnxe[1] - 4,
+                                                capab);
+       return ieee802_11_rsnx_capab_len(rsnxe + 2, rsnxe[1], capab);
 }