diff --git a/lib/dns/db.c b/lib/dns/db.c index 577b71fa90..11e498adfd 100644 --- a/lib/dns/db.c +++ b/lib/dns/db.c @@ -406,6 +406,7 @@ dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, ((db->attributes & DNS_DBATTR_CACHE) != 0 && version == NULL)); REQUIRE(DNS_RDATASET_VALID(rdataset)); REQUIRE(rdataset->methods != NULL); + REQUIRE(rdataset->rdclass == db->rdclass); return ((db->methods->addrdataset)(db, node, version, now, rdataset)); } diff --git a/lib/dns/include/dns/db.h b/lib/dns/include/dns/db.h index 38040f2849..3b7b5c1d61 100644 --- a/lib/dns/include/dns/db.h +++ b/lib/dns/include/dns/db.h @@ -770,7 +770,8 @@ dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version, * * 'node' is a valid node. * - * 'rdataset' is a valid, associated rdataset. + * 'rdataset' is a valid, associated rdataset with the same class + * as 'db'. * * The database has zone semantics and 'version' is a valid * read-write version, or the database has cache semantics