From: Dr. Stephen Henson Date: Thu, 13 Oct 2016 15:10:21 +0000 (+0100) Subject: Add memory leak detection to d2i_test X-Git-Tag: OpenSSL_1_1_0c~88 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=91951307d63cd238e2603cc739b765a909f35785;p=oweals%2Fopenssl.git Add memory leak detection to d2i_test Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/1707) (cherry picked from commit 4a4c4bf06d6362f56507c787c61b07655563e962) --- diff --git a/test/d2i_test.c b/test/d2i_test.c index 8c99087732..8dbb8f14ec 100644 --- a/test/d2i_test.c +++ b/test/d2i_test.c @@ -142,6 +142,7 @@ int main(int argc, char **argv) int result = 0; const char *test_type_name; const char *expected_error_string; + const char *p = getenv("OPENSSL_DEBUG_MEMORY"); size_t i; static ASN1_ITEM_EXP *items[] = { @@ -159,6 +160,10 @@ int main(int argc, char **argv) {"compare", ASN1_COMPARE} }; + if (p != NULL && strcmp(p, "on") == 0) + CRYPTO_set_mem_debug(1); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + if (argc != 4) { fprintf(stderr, "Usage: d2i_test item_name expected_error file.der\n"); @@ -202,5 +207,10 @@ int main(int argc, char **argv) result = run_tests(argv[0]); +#ifndef OPENSSL_NO_CRYPTO_MDEBUG + if (CRYPTO_mem_leaks_fp(stderr) <= 0) + result = 1; +#endif + return result; }