const u8 *buf, size_t len)
{
struct ieee802_11_elems elems;
- struct wpa_tdls_lnkid lnkid;
+ const struct wpa_tdls_lnkid *lnkid;
struct wpa_tdls_peer *peer;
size_t min_req_len = 1 /* Dialog Token */ + 2 /* Capability */ +
sizeof(struct wpa_tdls_lnkid);
return -1;
}
- os_memcpy(&lnkid.bssid[0], elems.link_id, sizeof(lnkid) - 2);
+ lnkid = (const struct wpa_tdls_lnkid *) (elems.link_id - 2);
- if (!wpa_tdls_is_lnkid_bss_valid(sm, &lnkid, &link_id)) {
+ if (!wpa_tdls_is_lnkid_bss_valid(sm, lnkid, &link_id)) {
wpa_printf(MSG_DEBUG,
"TDLS: Discovery Response from different BSS "
- MACSTR, MAC2STR(lnkid.bssid));
+ MACSTR, MAC2STR(lnkid->bssid));
return -1;
}
peer->mld_link_id = link_id;
wpa_printf(MSG_DEBUG, "TDLS: Link identifier BSS: " MACSTR
- " , link id: %u", MAC2STR(lnkid.bssid), link_id);
+ " , link id: %u", MAC2STR(lnkid->bssid), link_id);
return 0;
}