From: Wouter Wijngaards Date: Wed, 23 Mar 2016 09:18:29 +0000 (+0000) Subject: Stop memory leak on error condition. X-Git-Tag: release-1.5.9rc1~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd07245a0a42d054c17db25cbf8ffd6928bed380;p=thirdparty%2Funbound.git Stop memory leak on error condition. git-svn-id: file:///svn/unbound/trunk@3694 be551aaa-1e26-0410-a405-d3ace91eadb9 --- 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;