]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix memory context leak in dns_client_resolve() error path
authorOndřej Surý <ondrej@isc.org>
Sat, 14 Mar 2026 11:46:05 +0000 (12:46 +0100)
committerOndřej Surý <ondrej@sury.org>
Mon, 16 Mar 2026 09:50:22 +0000 (10:50 +0100)
Use isc_mem_putanddetach() instead of isc_mem_put() to properly
detach the attached memory context stored in resarg->mctx.

(cherry picked from commit d0165070c7f11e09498ad7c8e19ada7eea1fa044)

lib/dns/client.c

index a69bbab71c6dd25d31ddf636a48f2585ef4aa29c..7ef41d84d037cad164ab1d2f1419b00f8b3d38d2 100644 (file)
@@ -988,7 +988,7 @@ dns_client_resolve(dns_client_t *client, const dns_name_t *name,
        result = startresolve(client, name, rdclass, type, options,
                              resolve_done, resarg, &resarg->trans);
        if (result != ISC_R_SUCCESS) {
-               isc_mem_put(client->mctx, resarg, sizeof(*resarg));
+               isc_mem_putanddetach(&resarg->mctx, resarg, sizeof(*resarg));
                return result;
        }