mirror of
https://github.com/openssl/openssl.git
synced 2025-03-01 19:28:10 +08:00
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>
This commit is contained in:
parent
8ff70f3326
commit
fa454945cf
@ -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;
|
||||
|
@ -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());
|
||||
|
Loading…
Reference in New Issue
Block a user