diff options
author | FdaSilvaYY <fdasilvayy@gmail.com> | 2016-03-18 23:17:39 +0100 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-04-06 06:17:21 -0400 |
commit | f0e1fe7cc30b22d9e24ac38f0d4631f9b8042e12 (patch) | |
tree | f5d6d12ca8afae7d8e537c97e7d459be5e599395 /test | |
parent | 570c0716e30ca3490cc8f5d8d7cf25bcd99d6c7c (diff) |
Add missing mem leak test activation and checks
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/bntest.c | 11 | ||||
-rw-r--r-- | test/ct_test.c | 10 | ||||
-rw-r--r-- | test/dhtest.c | 7 |
3 files changed, 28 insertions, 0 deletions
diff --git a/test/bntest.c b/test/bntest.c index e58d94d117..1ba903254b 100644 --- a/test/bntest.c +++ b/test/bntest.c @@ -154,6 +154,9 @@ int main(int argc, char *argv[]) BIO *out; char *outfile = NULL; + CRYPTO_set_mem_debug(1); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + results = 0; RAND_seed(rnd_seed, sizeof rnd_seed); /* or BN_generate_prime may fail */ @@ -353,12 +356,20 @@ int main(int argc, char *argv[]) BN_CTX_free(ctx); BIO_free(out); + ERR_print_errors_fp(stderr); + +#ifndef OPENSSL_NO_CRYPTO_MDEBUG + if (CRYPTO_mem_leaks_fp(stderr) <= 0) + EXIT(1); +#endif EXIT(0); err: BIO_puts(out, "1\n"); /* make sure the Perl script fed by bc * notices the failure, see test_bn in * test/Makefile.ssl */ (void)BIO_flush(out); + BN_CTX_free(ctx); + BIO_free(out); ERR_print_errors_fp(stderr); EXIT(1); diff --git a/test/ct_test.c b/test/ct_test.c index ce417ab9bd..5446f9d0da 100644 --- a/test/ct_test.c +++ b/test/ct_test.c @@ -565,6 +565,11 @@ int main(int argc, char *argv[]) int result = 0; char *tmp_env = NULL; + tmp_env = getenv("OPENSSL_DEBUG_MEMORY"); + if (tmp_env != NULL && strcmp(tmp_env, "on") == 0) + CRYPTO_set_mem_debug(1); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + tmp_env = getenv("CT_DIR"); ct_dir = OPENSSL_strdup(tmp_env != NULL ? tmp_env : "ct"); tmp_env = getenv("CERTS_DIR"); @@ -584,6 +589,11 @@ int main(int argc, char *argv[]) OPENSSL_free(ct_dir); OPENSSL_free(certs_dir); +#ifndef OPENSSL_NO_CRYPTO_MDEBUG + if (CRYPTO_mem_leaks_fp(stderr) <= 0) + result = 1; +#endif + return result; } diff --git a/test/dhtest.c b/test/dhtest.c index 5940aa78b2..8fad6da4fd 100644 --- a/test/dhtest.c +++ b/test/dhtest.c @@ -194,6 +194,7 @@ int main(int argc, char *argv[]) if (!run_rfc5114_tests()) ret = 1; err: + (void)BIO_flush(out); ERR_print_errors_fp(stderr); OPENSSL_free(abuf); @@ -202,6 +203,12 @@ int main(int argc, char *argv[]) DH_free(a); BN_GENCB_free(_cb); BIO_free(out); + +#ifndef OPENSSL_NO_CRYPTO_MDEBUG + if (CRYPTO_mem_leaks_fp(stderr) <= 0) + ret = 1; +#endif + EXIT(ret); } |