]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
AP: Avoid double free of key data buffer if AES unwrap fails
authorHu Wang <quic_huw@quicinc.com>
Wed, 6 Nov 2024 10:50:04 +0000 (02:50 -0800)
committerJouni Malinen <j@w1.fi>
Thu, 7 Nov 2024 09:50:00 +0000 (11:50 +0200)
key_data_buf was freed when aes_unwrap() failed, and then after goto
out, key_data_buf would be freed again. The separate feeing on
aes_unwrap() failure is not needed, so remove it.

Fixes: 4abc37e67b ("Support Key Data field decryption for EAPOL-Key msg 2/4 and 4/4")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
src/ap/wpa_auth.c

index 49866c276ce62f9f959367e85ab3058dc9ca0974..d067b2cfab29d9e602435071c3a4a11a114d846f 100644 (file)
@@ -3811,7 +3811,6 @@ SM_STATE(WPA_PTK, PTKCALCNEGOTIATING)
                key_data_buf_len = key_data_length;
                if (aes_unwrap(PTK.kek, PTK.kek_len, key_data_length / 8,
                               key_data, key_data_buf)) {
-                       bin_clear_free(key_data_buf, key_data_buf_len);
                        wpa_printf(MSG_INFO,
                                   "RSN: AES unwrap failed - could not decrypt EAPOL-Key key data");
                        goto out;