From: Mark Andrews Date: Thu, 10 Jun 2021 00:14:17 +0000 (+1000) Subject: dns_rdata_tostruct() should reject rdata with DNS_RDATA_UPDATE set X-Git-Tag: v9.11.35~5^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5374630ca4ec42eeb6cd2bd33c15eeea7dddcecf;p=thirdparty%2Fbind9.git dns_rdata_tostruct() should reject rdata with DNS_RDATA_UPDATE set (cherry picked from commit e97249e01270ab43065e3a7d6ba3f5a36593a2c4) --- diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 7794fb051d6..804cd5b76a7 100644 --- a/lib/dns/include/dns/rdata.h +++ b/lib/dns/include/dns/rdata.h @@ -509,7 +509,7 @@ dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx); * * Requires: * - *\li 'rdata' is a valid, non-empty rdata. + *\li 'rdata' is a valid, non-empty, non-pseudo rdata. * *\li 'target' to point to a valid pointer for the type and class. * diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index 3bd7f54661a..a255967e466 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -1233,6 +1233,7 @@ dns_rdata_tostruct(const dns_rdata_t *rdata, void *target, isc_mem_t *mctx) { REQUIRE(rdata != NULL); REQUIRE(DNS_RDATA_VALIDFLAGS(rdata)); + REQUIRE((rdata->flags & DNS_RDATA_UPDATE) == 0); TOSTRUCTSWITCH