diff options
author | Matt Caswell <matt@openssl.org> | 2016-09-26 12:04:23 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-09-26 17:26:50 +0100 |
commit | fa454945cf2855fed452ff9bdb1876096bc07beb (patch) | |
tree | aa3e9b327ddc92d18110629b09d1d3c0691a7c57 /test | |
parent | 8ff70f3326983360c6f6306a1cd2238ef92d1f26 (diff) |
Fix some mem leaks in sslapitest
A mem leak could occur on an error path. Also the mempacket BIO_METHOD
needs to be cleaned up, because of the newly added DTLS test.
Also fixed a double semi-colon in ssltestlib.c
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/sslapitest.c | 10 | ||||
-rw-r--r-- | test/ssltestlib.c | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/test/sslapitest.c b/test/sslapitest.c index acb2087cc4..b08eb8c78f 100644 --- a/test/sslapitest.c +++ b/test/sslapitest.c @@ -46,14 +46,18 @@ static int execute_test_large_message(const SSL_METHOD *smeth, goto end; } chaincert = PEM_read_bio_X509(certbio, NULL, NULL, NULL); + BIO_free(certbio); + certbio = NULL; + if (chaincert == NULL) { + printf("Unable to load certificate for chain\n"); + goto end; + } if (!create_ssl_ctx_pair(smeth, cmeth, &sctx, &cctx, cert, privkey)) { printf("Unable to create SSL_CTX pair\n"); goto end; } - BIO_free(certbio); - certbio = NULL; /* * We assume the supplied certificate is big enough so that if we add @@ -870,6 +874,8 @@ int main(int argc, char *argv[]) testresult = run_tests(argv[0]); + bio_s_mempacket_test_free(); + #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (CRYPTO_mem_leaks(err) <= 0) testresult = 1; diff --git a/test/ssltestlib.c b/test/ssltestlib.c index 9fcd98de7d..655fc05cb2 100644 --- a/test/ssltestlib.c +++ b/test/ssltestlib.c @@ -587,7 +587,7 @@ int create_ssl_objects(SSL_CTX *serverctx, SSL_CTX *clientctx, SSL **sssl, if (SSL_is_dtls(clientssl)) { s_to_c_bio = BIO_new(bio_s_mempacket_test()); - c_to_s_bio = BIO_new(bio_s_mempacket_test());; + c_to_s_bio = BIO_new(bio_s_mempacket_test()); } else { s_to_c_bio = BIO_new(BIO_s_mem()); c_to_s_bio = BIO_new(BIO_s_mem()); |