diff --git a/CHANGES b/CHANGES index 74d51b8239..64ac3395e2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +4293. [bug] Address memory leak on priming query creation failure. + [RT #41512] + 4292. [placeholder] 4291. [cleanup] Added a required include to dns/forward.h. [RT #41474] diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index 0dfd32181f..83c740a2d4 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -9054,6 +9054,7 @@ dns_resolver_prime(dns_resolver_t *res) { &res->primefetch); UNLOCK(&res->primelock); if (result != ISC_R_SUCCESS) { + isc_mem_put(res->mctx, rdataset, sizeof(*rdataset)); LOCK(&res->lock); INSIST(res->priming); res->priming = ISC_FALSE;