]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix dns_fwdtable_addfwd() error path cleanup bug
authorAram Sargsyan <aram@isc.org>
Fri, 9 Dec 2022 12:41:38 +0000 (12:41 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Wed, 11 Jan 2023 13:42:00 +0000 (13:42 +0000)
Free 'sizeof(dns_forwarder_t)' bytes of memory instead of
'sizeof(dns_sockaddr_t)' bytes, because `fwd` is a pointer
to a 'dns_forwarder_t' type structure.

(cherry picked from commit 0cc1b06d98676ab66200d388c48c3cd615aa0109)

lib/dns/forward.c

index 53d0c5ee4e33a6ad52b0539f4962c4ac0159d8b0..c7c54cddcedc5dcf6f9f57ac944295976e53cd35 100644 (file)
@@ -103,7 +103,7 @@ cleanup:
        while (!ISC_LIST_EMPTY(forwarders->fwdrs)) {
                fwd = ISC_LIST_HEAD(forwarders->fwdrs);
                ISC_LIST_UNLINK(forwarders->fwdrs, fwd, link);
-               isc_mem_put(fwdtable->mctx, fwd, sizeof(isc_sockaddr_t));
+               isc_mem_put(fwdtable->mctx, fwd, sizeof(dns_forwarder_t));
        }
        isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));
        return (result);