summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRich Salz <rsalz@openssl.org>2016-01-07 15:06:38 -0500
committerRich Salz <rsalz@openssl.org>2016-01-07 15:14:18 -0500
commitbbd86bf5424a611cb6b77a3a17fc522931c4dcb8 (patch)
treecc45d4fb29946c41879e563547a877a70b0c957a /apps
parent3cb8c3265f639f8eebf32053457ae6a6d61e2413 (diff)
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 <levitte@openssl.org>
Diffstat (limited to 'apps')
-rw-r--r--apps/openssl.c14
1 files changed, 4 insertions, 10 deletions
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);
}