]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
when encountering bad zone data in backend, make sure we finish the get() so we leave...
authorbert hubert <bert.hubert@netherlabs.nl>
Fri, 23 Sep 2016 08:26:06 +0000 (10:26 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Fri, 23 Sep 2016 08:26:06 +0000 (10:26 +0200)
pdns/dnsbackend.cc

index dd8f7c6e32daf228f9d5f52cc7cbdf36c5a3830c..7bd05aa430a55f4f20e36dde19156ce2d5891aa4 100644 (file)
@@ -295,8 +295,15 @@ bool DNSBackend::get(DNSZoneRecord& dzr)
       dzr.dr = DNSRecord(rr);        
     }
   }
-  else 
-    dzr.dr = DNSRecord(rr);
+  else {
+    try {
+      dzr.dr = DNSRecord(rr);
+    }
+    catch(...) {
+      while(this->get(rr));
+      throw;
+    }
+  }
   return true;
 }