Fix a memory leak issue in catz_process_primaries()

Free the old version of the keyname (if it exists) before setting
the new one.
This commit is contained in:
Aram Sargsyan 2026-05-04 11:45:21 +00:00 committed by Arаm Sаrgsyаn
parent 4f5f4b77c7
commit 4576a67a93

View file

@ -1453,6 +1453,14 @@ catz_process_primaries(dns_catz_zone_t *catz, dns_ipkeylist_t *ipkl,
if (i < ipkl->count) { /* we have this record already */
if (value->type == dns_rdatatype_txt) {
if (ipkl->keys[i] != NULL) {
if (dns_name_dynamic(ipkl->keys[i])) {
dns_name_free(ipkl->keys[i],
mctx);
}
isc_mem_put(mctx, ipkl->keys[i],
sizeof(*ipkl->keys[i]));
}
ipkl->keys[i] = keyname;
} else { /* A/AAAA */
memmove(&ipkl->addrs[i], &sockaddr,