RRM: Fix Range Request max age parsing
This 16-bit field uses little endian encoding and it must be read with WPA_GET_LE16() instead of assuming host byte order is little endian. In addition, this could be misaligned, so using a u16 pointer here was not appropriate. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
360440db2d
commit
13b30052d9
1 changed files with 1 additions and 1 deletions
|
@ -147,7 +147,7 @@ static u16 hostapd_parse_location_lci_req_age(const u8 *buf, size_t len)
|
|||
/* Subelements are arranged as IEs */
|
||||
subelem = get_ie(buf + 4, len - 4, LCI_REQ_SUBELEM_MAX_AGE);
|
||||
if (subelem && subelem[1] == 2)
|
||||
return *(u16 *) (subelem + 2);
|
||||
return WPA_GET_LE16(subelem + 2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue