OpenSSL: Fix a memory leak on an error path

peerkey from EVP_PKEY_new() needs to be freed on all error paths.

Fixes: b062507670 ("OpenSSL: Implement crypto_ecdh routines without EC_KEY for OpenSSL 3.0")
Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
This commit is contained in:
Jouni Malinen 2024-01-22 19:12:12 +02:00 committed by Jouni Malinen
parent f873abd0d9
commit 0b95d1346f

View file

@ -2854,8 +2854,10 @@ struct wpabuf * crypto_ecdh_set_peerkey(struct crypto_ecdh *ecdh, int inc_y,
/* Encode using SECG SEC 1, Sec. 2.3.4 format */
peer = os_malloc(1 + len);
if (!peer)
if (!peer) {
EVP_PKEY_free(peerkey);
return NULL;
}
peer[0] = inc_y ? 0x04 : 0x02;
os_memcpy(peer + 1, key, len);