From e97249e01270ab43065e3a7d6ba3f5a36593a2c4 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 10 Jun 2021 10:14:17 +1000 Subject: [PATCH] dns_rdata_tostruct() should reject rdata with DNS_RDATA_UPDATE set --- lib/dns/include/dns/rdata.h | 2 +- lib/dns/rdata.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h index 9221c8951a..359f69d674 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 a2eb404f41..6fb7bc3d22 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