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 --- apps/openssl.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'apps') diff --git a/apps/openssl.c b/apps/openssl.c index f2c7ccf0c4..d21988e77f 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -171,7 +171,6 @@ static int apps_startup() #ifdef SIGPIPE signal(SIGPIPE, SIG_IGN); #endif - CRYPTO_malloc_init(); ERR_load_crypto_strings(); ERR_load_SSL_strings(); @@ -311,15 +310,8 @@ int main(int argc, char *argv[]) #endif p = getenv("OPENSSL_DEBUG_MEMORY"); - if (p == NULL) - /* if not set, use compiled-in default */ - ; - else if (strcmp(p, "off") != 0) { - CRYPTO_malloc_debug_init(); - CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); - } else { - CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0); - } + if (p != NULL && strcmp(p, "on") == 0) + CRYPTO_set_mem_debug(1); CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); CRYPTO_set_locking_callback(lock_dbg_cb); @@ -437,7 +429,9 @@ int main(int argc, char *argv[]) BIO_free(bio_in); BIO_free_all(bio_out); apps_shutdown(); +#ifdef CRYPTO_MDEBUG CRYPTO_mem_leaks(bio_err); +#endif BIO_free(bio_err); return (ret); } -- cgit v1.2.3