diff options
Diffstat (limited to 'test/enginetest.c')
-rw-r--r-- | test/enginetest.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/test/enginetest.c b/test/enginetest.c index bbe40e64f5..f5924e07b6 100644 --- a/test/enginetest.c +++ b/test/enginetest.c @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) { ENGINE *block[512]; char buf[256]; - const char *id, *name; + const char *id, *name, *p; ENGINE *ptr; int loop; int to_return = 1; @@ -107,16 +107,9 @@ int main(int argc, char *argv[]) ENGINE *new_h3 = NULL; ENGINE *new_h4 = NULL; - /* enable memory leak checking unless explicitly disabled */ - if (!((getenv("OPENSSL_DEBUG_MEMORY") != NULL) - && (0 == strcmp(getenv("OPENSSL_DEBUG_MEMORY"), "off")))) { - CRYPTO_malloc_debug_init(); - CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); - } else { - /* OPENSSL_DEBUG_MEMORY=off */ - CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0); - } - CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + p = getenv("OPENSSL_DEBUG_MEMORY"); + if (p != NULL && strcmp(p, "on") == 0) + CRYPTO_set_mem_debug(1); ERR_load_crypto_strings(); memset(block, 0, sizeof(block)); @@ -256,7 +249,9 @@ int main(int argc, char *argv[]) CRYPTO_cleanup_all_ex_data(); ERR_free_strings(); ERR_remove_thread_state(NULL); +#ifdef CRYPTO_MDEBUG CRYPTO_mem_leaks_fp(stderr); +#endif return to_return; } #endif |