From 930d9042a1e3622b6efd1bb625ad2298cfd3bfc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Wed, 11 Mar 2026 13:17:32 +0100 Subject: [PATCH] Fix memory leak in dns_catz_options_setdefault() for zonedir When defaults->zonedir is set, opts->zonedir is unconditionally overwritten without freeing the previous value. This leaks memory on every catalog zone update when zonedir defaults are configured. Free the existing opts->zonedir before replacing it. (cherry picked from commit 5cd17c8adc2720b26e8d76599b7f7786f1c854ad) --- lib/dns/catz.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/dns/catz.c b/lib/dns/catz.c index 373a8dc921..30b0bc4d4a 100644 --- a/lib/dns/catz.c +++ b/lib/dns/catz.c @@ -225,6 +225,9 @@ dns_catz_options_setdefault(isc_mem_t *mctx, const dns_catz_options_t *defaults, } if (defaults->zonedir != NULL) { + if (opts->zonedir != NULL) { + isc_mem_free(mctx, opts->zonedir); + } opts->zonedir = isc_mem_strdup(mctx, defaults->zonedir); }