RRM: Fix the parsing of the Extended Request subelement in beacon req
The Extended Request subelement of a Beacon Request is expected to also
include the Requested Element ID field (that identifies the Element ID
used to indicated extended elements) which needs to be skipped to get
the Requested Element ID Extensions.
Fixes: 2d4f905214
("RRM: Add support for including extended ID elements in beacon report")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
This commit is contained in:
parent
75ac1f1ac0
commit
655794898f
1 changed files with 18 additions and 0 deletions
|
@ -1117,6 +1117,24 @@ static int wpas_rm_handle_beacon_req_subelem(struct wpa_supplicant *wpa_s,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sid == WLAN_BEACON_REQUEST_SUBELEM_EXT_REQUEST) {
|
||||||
|
if (slen < 2) {
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"Invalid extended request");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (subelem[0] != WLAN_EID_EXTENSION) {
|
||||||
|
wpa_printf(MSG_DEBUG,
|
||||||
|
"Skip unknown Requested Element ID %u in Extended Request subelement",
|
||||||
|
subelem[0]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Skip the Requested Element ID field */
|
||||||
|
subelem++;
|
||||||
|
slen--;
|
||||||
|
}
|
||||||
|
|
||||||
if ((sid == WLAN_BEACON_REQUEST_SUBELEM_REQUEST &&
|
if ((sid == WLAN_BEACON_REQUEST_SUBELEM_REQUEST &&
|
||||||
data->eids) ||
|
data->eids) ||
|
||||||
(sid == WLAN_BEACON_REQUEST_SUBELEM_EXT_REQUEST &&
|
(sid == WLAN_BEACON_REQUEST_SUBELEM_EXT_REQUEST &&
|
||||||
|
|
Loading…
Reference in a new issue