diff options
Diffstat (limited to 'iterator/iter_scrub.c')
-rw-r--r-- | iterator/iter_scrub.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/iterator/iter_scrub.c b/iterator/iter_scrub.c index 3f1438a4ff3d5..cceec3d5677a5 100644 --- a/iterator/iter_scrub.c +++ b/iterator/iter_scrub.c @@ -217,6 +217,10 @@ synth_cname(uint8_t* qname, size_t qnamelen, struct rrset_parse* dname_rrset, size_t dtarglen; if(!parse_get_cname_target(dname_rrset, &dtarg, &dtarglen)) return 0; + if(qnamelen <= dname_rrset->dname_len) + return 0; + if(qnamelen == 0) + return 0; log_assert(qnamelen > dname_rrset->dname_len); /* DNAME from com. to net. with qname example.com. -> example.net. */ /* so: \3com\0 to \3net\0 and qname \7example\3com\0 */ |