]> 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@isc.org>
Sat, 14 Mar 2026 12:47:48 +0000 (13:47 +0100)
Use isc_mem_putanddetach() instead of isc_mem_put() to properly
detach the attached memory context stored in resarg->mctx.

lib/dns/client.c

index 91e74e17b2330c35ed398792e50da9d828ab9487..565c4d8ce904b6a8f4131a28c8d7f6dafc63a293 100644 (file)
@@ -953,7 +953,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;
        }