From fd07245a0a42d054c17db25cbf8ffd6928bed380 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Wed, 23 Mar 2016 09:18:29 +0000 Subject: [PATCH] Stop memory leak on error condition. git-svn-id: file:///svn/unbound/trunk@3694 be551aaa-1e26-0410-a405-d3ace91eadb9 --- validator/val_secalgo.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/validator/val_secalgo.c b/validator/val_secalgo.c index ca308d5e0..912448a2e 100644 --- a/validator/val_secalgo.c +++ b/validator/val_secalgo.c @@ -599,6 +599,7 @@ verify_canonrrset(sldns_buffer* buf, int algo, unsigned char* sigblock, } if(EVP_VerifyInit(ctx, digest_type) == 0) { verbose(VERB_QUERY, "verify: EVP_VerifyInit failed"); + EVP_MD_CTX_destroy(ctx); EVP_PKEY_free(evp_key); if(dofree) free(sigblock); return sec_status_unchecked; @@ -606,6 +607,7 @@ verify_canonrrset(sldns_buffer* buf, int algo, unsigned char* sigblock, if(EVP_VerifyUpdate(ctx, (unsigned char*)sldns_buffer_begin(buf), (unsigned int)sldns_buffer_limit(buf)) == 0) { verbose(VERB_QUERY, "verify: EVP_VerifyUpdate failed"); + EVP_MD_CTX_destroy(ctx); EVP_PKEY_free(evp_key); if(dofree) free(sigblock); return sec_status_unchecked; -- 2.47.3