eapol: only check for snonce if MIC is used

In eapol_key_handle, 'have_snonce' is checked before decrypting the
key data. For FILS, there will be no snonce so this check can be
skipped if mic_len == 0.
This commit is contained in:
James Prestwood 2019-04-17 15:16:44 -07:00 committed by Denis Kenzior
parent c21f3cd2a4
commit 799a29d37c
1 changed files with 5 additions and 2 deletions

View File

@ -1918,8 +1918,11 @@ static void eapol_key_handle(struct eapol_sm *sm,
if ((ek->encrypted_key_data && !sm->handshake->wpa_ie) ||
(ek->key_type == 0 && sm->handshake->wpa_ie)) {
/* Haven't received step 1 yet, so no ptk */
if (!sm->handshake->have_snonce)
/*
* If using a MIC (non-FILS) but haven't received step 1 yet
* we disregard since there will be no ptk
*/
if (sm->mic_len && !sm->handshake->have_snonce)
return;
kek = handshake_state_get_kek(sm->handshake);