From bbd86bf5424a611cb6b77a3a17fc522931c4dcb8 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Thu, 7 Jan 2016 15:06:38 -0500 Subject: mem functions cleanup Only two macros CRYPTO_MDEBUG and CRYPTO_MDEBUG_ABORT to control this. If CRYPTO_MDEBUG is not set, #ifdef out the whole debug machinery. (Thanks to Jakob Bohm for the suggestion!) Make the "change wrapper functions" be the only paradigm. Wrote documentation! Format the 'set func' functions so their paramlists are legible. Format some multi-line comments. Remove ability to get/set the "memory debug" functions at runtme. Remove MemCheck_* and CRYPTO_malloc_debug_init macros. Add CRYPTO_mem_debug(int flag) function. Add test/memleaktest. Rename CRYPTO_malloc_init to OPENSSL_malloc_init; remove needless calls. Reviewed-by: Richard Levitte --- test/enginetest.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'test/enginetest.c') 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 -- cgit v1.2.3