]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix a potential memory leak in apps/s_server.c
authorbesher <beshoux@outlook.fr>
Sat, 4 Feb 2023 23:08:14 +0000 (00:08 +0100)
committerTodd Short <todd.short@me.com>
Wed, 8 Feb 2023 14:47:45 +0000 (09:47 -0500)
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)

apps/s_server.c

index 0b794960f92cc0a712fe6ea979982bf8946d3235..e822bcc0905453698a4b475dc97c68e1c81df1be 100644 (file)
@@ -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);