]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Add more unit tests for the packet overlay 12415/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 13 Jan 2023 13:02:09 +0000 (14:02 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 13 Jan 2023 13:02:09 +0000 (14:02 +0100)
pdns/dnsdistdist/test-dnsdist-dnsparser.cc

index a20dd826505967fb757b5bf805aff1cdb34157b7..6bca068f6768153543c92da35c9b00180a8002ae 100644 (file)
@@ -71,6 +71,13 @@ BOOST_AUTO_TEST_CASE(test_Overlay)
     pwR.addOpt(4096, 0, 0);
     pwR.commit();
 
+    {
+      // check packet smaller than dnsheader
+      BOOST_CHECK_THROW(dnsdist::DNSPacketOverlay(std::string_view(reinterpret_cast<const char*>(response.data()), 11U)), std::runtime_error);
+      // check corrupted packet
+      BOOST_CHECK_THROW(dnsdist::DNSPacketOverlay(std::string_view(reinterpret_cast<const char*>(response.data()), response.size() - 1)), std::runtime_error);
+    }
+
     dnsdist::DNSPacketOverlay overlay(std::string_view(reinterpret_cast<const char*>(response.data()), response.size()));
     BOOST_CHECK_EQUAL(overlay.d_qname, target);
     BOOST_CHECK_EQUAL(overlay.d_qtype, QType::ANY);