]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rec-4.3: do not send overly long NOD lookups 9706/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 11 Nov 2020 10:20:41 +0000 (11:20 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 11 Nov 2020 10:31:19 +0000 (11:31 +0100)
pdns/pdns_recursor.cc

index 82cb1d6cad060aa2938032fa4b7a3006c9f28216..719185d4431c9814b96a1d1c167758726de7ef49 100644 (file)
@@ -1077,7 +1077,13 @@ static void sendNODLookup(const DNSName& dname)
     // Send a DNS A query to <domain>.g_nodLookupDomain
     static const QType qt(QType::A);
     static const uint16_t qc(QClass::IN);
-    DNSName qname = dname + g_nodLookupDomain;
+    DNSName qname;
+    try {
+      qname = dname + g_nodLookupDomain;
+    }
+    catch(const std::range_error &e) {
+      return;
+    }
     vector<DNSRecord> dummy;
     directResolve(qname, qt, qc, dummy);
   }