From: Enji Cooper Date: Thu, 6 Jun 2024 05:25:36 +0000 (-0700) Subject: ldns_convert_dsa_rrsig_rdf2asn1: fix memory leak X-Git-Tag: release-1.8.4-rc1~31^2^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5afb814854322854425320b781e286b79a1be7ea;p=thirdparty%2Fldns.git ldns_convert_dsa_rrsig_rdf2asn1: fix memory leak Prior to this change `dsasig` was not freed when calling `DSA_SIG_set0` failed. Free `dsasig` on error in that code path now. Reported by: Coverity Signed-off-by: Enji Cooper --- diff --git a/dnssec.c b/dnssec.c index 9055284c..0a7beb4e 100644 --- a/dnssec.c +++ b/dnssec.c @@ -1836,8 +1836,10 @@ ldns_convert_dsa_rrsig_rdf2asn1(ldns_buffer *target_buffer, return LDNS_STATUS_MEM_ERR; } # ifdef HAVE_DSA_SIG_SET0 - if (! DSA_SIG_set0(dsasig, R, S)) - return LDNS_STATUS_SSL_ERR; + if (! DSA_SIG_set0(dsasig, R, S)) { + DSA_SIG_free(dsasig); + return LDNS_STATUS_SSL_ERR; + } # else dsasig->r = R; dsasig->s = S;