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: 2d4f905214b7 ("RRM: Add support for including extended ID elements in beacon report")
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
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 &&
data->eids) ||
(sid == WLAN_BEACON_REQUEST_SUBELEM_EXT_REQUEST &&