]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Make sure `labelsToAdd` is not empty in `getZoneCuts()`
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 16 Jan 2017 16:53:06 +0000 (17:53 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 16 Jan 2017 16:53:06 +0000 (17:53 +0100)
pdns/validate.cc

index ace1c72f5660312bc51dc37cbaba590480437159..e6c6dbe2df99bca24fe6b16dd04da980fec7e658 100644 (file)
@@ -124,9 +124,12 @@ vector<DNSName> getZoneCuts(const DNSName& begin, const DNSName& end, DNSRecordO
   // The shortest name is assumed to a zone cut
   ret.push_back(qname);
   while(qname != begin) {
+    bool foundCut = false;
+    if (labelsToAdd.empty())
+      break;
+
     qname.prependRawLabel(labelsToAdd.back());
     labelsToAdd.pop_back();
-    bool foundCut = false;
     auto records = dro.get(qname, (uint16_t)QType::NS);
     for (const auto record : records) {
       if(record.d_name != qname || record.d_type != QType::NS)