Bug fix of HE operation IE parsing for 6GHz AP am: 5db9f0fc33
Change-Id: I82690601e1b364a94850a5f0549f4a6143c5c871
diff --git a/src/common/ieee802_11_common.c b/src/common/ieee802_11_common.c
index 3c3e875..b158077 100644
--- a/src/common/ieee802_11_common.c
+++ b/src/common/ieee802_11_common.c
@@ -2729,10 +2729,11 @@
if (he_oper_len < expected_len)
return channel_width;
+ const u8 *he_oper_u8 = (const u8 *) he_oper;
if (is_6ghz_info_present) {
struct ieee80211_6ghz_operation_info *six_ghz_oper_info =
(struct ieee80211_6ghz_operation_info *)
- (he_oper + HE_OPERATION_IE_MIN_LEN
+ (he_oper_u8 + HE_OPERATION_IE_MIN_LEN
+ (is_vht_info_present ? HE_OPERATION_VHT_OPER_INFO_LEN : 0)
+ (is_cohosted_bss_present
? HE_OPERATION_COHOSTED_BSSID_INDICATOR_LEN : 0));
@@ -2741,7 +2742,7 @@
if (channel_width == CHAN_WIDTH_UNKNOWN && is_vht_info_present) {
struct ieee80211_vht_operation_info *vht_oper_info =
(struct ieee80211_vht_operation_info *)
- (he_oper + HE_OPERATION_IE_MIN_LEN);
+ (he_oper_u8 + HE_OPERATION_IE_MIN_LEN);
channel_width = get_vht_operation_channel_width(vht_oper_info);
}
wpa_printf(MSG_DEBUG, " HE operation CBW: %u", channel_width);