From 1f3f8a3d016ac1c659f7201e152c291d03437b72 Mon Sep 17 00:00:00 2001 From: Pauli Date: Fri, 25 Jun 2021 12:55:28 +1000 Subject: [PATCH] apps: address potential memory leaks Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/15910) --- apps/s_server.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/s_server.c b/apps/s_server.c index 9c0c467ed66..a112b01f1b9 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -3016,6 +3016,7 @@ static int www_body(int s, int stype, int prot, unsigned char *context) /* No need to free |con| after this. Done by BIO_free(ssl_bio) */ BIO_set_ssl(ssl_bio, con, BIO_CLOSE); BIO_push(io, ssl_bio); + ssl_bio = NULL; #ifdef CHARSET_EBCDIC io = BIO_push(BIO_new(BIO_f_ebcdic_filter()), io); #endif @@ -3376,6 +3377,7 @@ static int www_body(int s, int stype, int prot, unsigned char *context) err: OPENSSL_free(buf); + BIO_free(ssl_bio); BIO_free_all(io); return ret; } @@ -3420,6 +3422,7 @@ static int rev_body(int s, int stype, int prot, unsigned char *context) /* No need to free |con| after this. Done by BIO_free(ssl_bio) */ BIO_set_ssl(ssl_bio, con, BIO_CLOSE); BIO_push(io, ssl_bio); + ssl_bio = NULL; #ifdef CHARSET_EBCDIC io = BIO_push(BIO_new(BIO_f_ebcdic_filter()), io); #endif @@ -3517,6 +3520,7 @@ static int rev_body(int s, int stype, int prot, unsigned char *context) err: OPENSSL_free(buf); + BIO_free(ssl_bio); BIO_free_all(io); return ret; } -- 2.47.2