diff options
author | besher <beshoux@outlook.fr> | 2023-02-05 00:08:14 +0100 |
---|---|---|
committer | Todd Short <todd.short@me.com> | 2023-02-08 09:47:45 -0500 |
commit | 8e2552b1eac4957214fed55457f64d7d5164ca37 (patch) | |
tree | 4acf15668efee92e8b404028f222c074284ad9c9 /apps/s_server.c | |
parent | a811b6305b1f98e8ec66b8a426d359150fea69b2 (diff) | |
download | openssl-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/s_server.c')
-rw-r--r-- | apps/s_server.c | 1 |
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); |