mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'bugfix/ignore_eapol_nonkey_v4.4' into 'release/v4.4'
Ignore EAPOL non-key frames in EAPOL txdone callback (Backport v4.4) See merge request espressif/esp-idf!25454
This commit is contained in:
commit
b9e8e0ef4e
@ -2653,11 +2653,19 @@ void eapol_txcb(uint8_t *eapol_payload, size_t len, bool tx_failure)
|
||||
struct wpa_sm *sm = &gWpaSm;
|
||||
u8 isdeauth = 0; //no_zero value is the reason for deauth
|
||||
|
||||
if (len < (sizeof(struct ieee802_1x_hdr) + sizeof(struct wpa_eapol_key))) {
|
||||
wpa_printf(MSG_ERROR, "EAPOL TxDone with invalid payload len! (len - %d)", len);
|
||||
if (len < sizeof(struct ieee802_1x_hdr)) {
|
||||
/* Invalid 802.1X header, ignore */
|
||||
return;
|
||||
}
|
||||
hdr = (struct ieee802_1x_hdr *) eapol_payload;
|
||||
if (hdr->type != IEEE802_1X_TYPE_EAPOL_KEY) {
|
||||
/* Ignore EAPOL non-key frames */
|
||||
return;
|
||||
}
|
||||
if (len < (sizeof(struct ieee802_1x_hdr) + sizeof(struct wpa_eapol_key))) {
|
||||
wpa_printf(MSG_ERROR, "EAPOL TxDone with invalid payload len! (len - %zu)", len);
|
||||
return;
|
||||
}
|
||||
key = (struct wpa_eapol_key *) (hdr + 1);
|
||||
|
||||
switch(WPA_SM_STATE(sm)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user