From: Mark Andrews Date: Fri, 23 Jan 2026 02:32:41 +0000 (+1100) Subject: dsync_from struct produced an invalid record X-Git-Tag: v9.18.45~5^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17341ea835983feabcf5999c6ac45e5e26b4f713;p=thirdparty%2Fbind9.git dsync_from struct produced an invalid record uint16_tobuffer was used instead of uint8_tobuffer when adding the scheme to the buffer. This produced a record that was one octet too long. This has been fixed. (cherry picked from commit 3180e5045978ce9fef524e98a66c0fdc7d7b783c) --- diff --git a/lib/dns/rdata/generic/dsync_66.c b/lib/dns/rdata/generic/dsync_66.c index 09303befb6f..403c1f4cfaa 100644 --- a/lib/dns/rdata/generic/dsync_66.c +++ b/lib/dns/rdata/generic/dsync_66.c @@ -237,7 +237,7 @@ fromstruct_dsync(ARGS_FROMSTRUCT) { UNUSED(rdclass); RETERR(uint16_tobuffer(dsync->type, target)); - RETERR(uint16_tobuffer(dsync->scheme, target)); + RETERR(uint8_tobuffer(dsync->scheme, target)); RETERR(uint16_tobuffer(dsync->port, target)); dns_name_toregion(&dsync->target, ®ion); return isc_buffer_copyregion(target, ®ion);