summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorbesher <beshoux@outlook.fr>2023-02-05 00:08:14 +0100
committerTodd Short <todd.short@me.com>2023-02-08 09:47:45 -0500
commit8e2552b1eac4957214fed55457f64d7d5164ca37 (patch)
tree4acf15668efee92e8b404028f222c074284ad9c9 /apps
parenta811b6305b1f98e8ec66b8a426d359150fea69b2 (diff)
downloadopenssl-new-8e2552b1eac4957214fed55457f64d7d5164ca37.tar.gz
Fix a potential memory leak in apps/s_server.c
Allocate memory for a new SSL session. If any of these steps fail, free the key memory and the tmpsess object before returning 0 to prevent a memory leak. Fixes: #20110 CLA: trivial Reviewed-by: Paul Yang <kaishen.yy@antfin.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/20213)
Diffstat (limited to 'apps')
-rw-r--r--apps/s_server.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/apps/s_server.c b/apps/s_server.c
index 0b794960f9..e822bcc090 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -229,6 +229,7 @@ static int psk_find_session_cb(SSL *ssl, const unsigned char *identity,
|| !SSL_SESSION_set_cipher(tmpsess, cipher)
|| !SSL_SESSION_set_protocol_version(tmpsess, SSL_version(ssl))) {
OPENSSL_free(key);
+ SSL_SESSION_free(tmpsess);
return 0;
}
OPENSSL_free(key);