From: Pauli Date: Fri, 25 Jun 2021 02:55:28 +0000 (+1000) Subject: apps: address potential memory leaks X-Git-Tag: openssl-3.0.0-beta2~187 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f3f8a3d016ac1c659f7201e152c291d03437b72;p=thirdparty%2Fopenssl.git apps: address potential memory leaks Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/15910) --- 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; }