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.17.17~17^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e97249e01270ab43065e3a7d6ba3f5a36593a2c4;p=thirdparty%2Fbind9.git dns_rdata_tostruct() should reject rdata with DNS_RDATA_UPDATE set --- diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 9221c8951ad..359f69d674c 100644 --- a/lib/dns/include/dns/rdata.h +++ b/lib/dns/include/dns/rdata.h @@ -516,7 +516,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 a2eb404f411..6fb7bc3d228 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -1222,6 +1222,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