From: Jouni Malinen Date: Mon, 22 Jan 2024 17:12:12 +0000 (+0200) Subject: OpenSSL: Fix a memory leak on an error path X-Git-Tag: hostap_2_11~434 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b95d1346f78ab8a1c566414aaa9e0b5bcb5340b;p=thirdparty%2Fhostap.git OpenSSL: Fix a memory leak on an error path peerkey from EVP_PKEY_new() needs to be freed on all error paths. Fixes: b062507670b5 ("OpenSSL: Implement crypto_ecdh routines without EC_KEY for OpenSSL 3.0") Signed-off-by: Jouni Malinen --- diff --git a/src/crypto/crypto_openssl.c b/src/crypto/crypto_openssl.c index d10949ce7..30aaef561 100644 --- a/src/crypto/crypto_openssl.c +++ b/src/crypto/crypto_openssl.c @@ -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);