From 6bf365d9a4de6943da7d663f6ded25fffdeeabf4 Mon Sep 17 00:00:00 2001 From: Andrew Zaborowski Date: Wed, 19 Dec 2018 02:00:42 +0100 Subject: [PATCH] eapol: Check handshake_state_get_pmkid return value Don't proceed with the handshake if handshake_state_get_pmkid fails (shouldn't happen, but it's an error situation) --- src/eapol.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/eapol.c b/src/eapol.c index 870b4a48..0533d2e5 100644 --- a/src/eapol.c +++ b/src/eapol.c @@ -980,8 +980,10 @@ static void eapol_handle_ptk_1_of_4(struct eapol_sm *sm, } else if (pmkid) { uint8_t own_pmkid[16]; - if (handshake_state_get_pmkid(sm->handshake, own_pmkid) && - memcmp(pmkid, own_pmkid, 16)) { + if (!handshake_state_get_pmkid(sm->handshake, own_pmkid)) + goto error_unspecified; + + if (memcmp(pmkid, own_pmkid, 16)) { l_debug("Authenticator sent a PMKID that didn't match"); /*