From 997a54c9811e4b91fb064a11eb21dbc501e7ed85 Mon Sep 17 00:00:00 2001 From: Geoff Thorpe Date: Fri, 14 Sep 2001 18:20:44 +0000 Subject: [PATCH] 'evp_test' needs to initialise and cleanup EVP_CIPHER_CTX structures. Also, fix a typo and add cleanup operations. This also switches on memory leak checking (which is how the rest was found). --- crypto/evp/evp_test.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crypto/evp/evp_test.c b/crypto/evp/evp_test.c index df02ea6047..fa3c9221bb 100644 --- a/crypto/evp/evp_test.c +++ b/crypto/evp/evp_test.c @@ -141,7 +141,7 @@ static void test1(const EVP_CIPHER *c,const unsigned char *key,int kn, c->key_len); exit(5); } - + EVP_CIPHER_CTX_init(&ctx); if(!EVP_EncryptInit(&ctx,c,key,iv)) { fprintf(stderr,"EncryptInit failed\n"); @@ -268,9 +268,10 @@ static int test_digest(const char *digest, } if(!EVP_DigestFinal(&ctx,md,&mdn)) { - fprintf(stderr,"DigestUpdate failed\n"); + fprintf(stderr,"DigestFinal failed\n"); exit(101); } + EVP_MD_CTX_cleanup(&ctx); if(mdn != cn) { @@ -301,6 +302,9 @@ int main(int argc,char **argv) fprintf(stderr,"%s \n",argv[0]); exit(1); } + CRYPTO_malloc_debug_init(); + CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); szTestFile=argv[1]; @@ -347,6 +351,12 @@ int main(int argc,char **argv) } } + ENGINE_cleanup(); + EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); + ERR_remove_state(0); + ERR_free_strings(); + CRYPTO_mem_leaks_fp(stderr); return 0; } -- 2.34.1