]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
rfc6742 types: use correct size
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Thu, 1 Apr 2021 11:37:41 +0000 (13:37 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Tue, 6 Apr 2021 17:07:05 +0000 (19:07 +0200)
pdns/dnswriter.cc
pdns/misc.hh
pdns/rcpgenerator.cc
pdns/test-rcpgenerator_cc.cc

index 775793dcd0f122af75a66df0add0cae3ee24fc78..bcb2884779cffe15e7e3050475e8fa766907d00a 100644 (file)
@@ -142,7 +142,7 @@ template <typename Container> void GenericDNSPacketWriter<Container>::xfr48BitIn
 
 template <typename Container> void GenericDNSPacketWriter<Container>::xfrNodeOrLocatorID(NodeOrLocatorID val)
 {
-  d_content.insert(d_content.end(), val, val + sizeof(val));
+  d_content.insert(d_content.end(), val.content, val.content + sizeof(val.content));
 }
 
 template <typename Container> void GenericDNSPacketWriter<Container>::xfr32BitInt(uint32_t val)
index 4303ded5440758281f47665221b7bbc2d8a76507..44d44828707c67e3b8250270f82d272ffe63595c 100644 (file)
@@ -630,4 +630,4 @@ size_t parseSVCBValueList(const std::string &in, vector<std::string> &val);
 std::string makeLuaString(const std::string& in);
 
 // Used in NID and L64 records
-typedef uint8_t NodeOrLocatorID[8];
+struct NodeOrLocatorID { uint8_t content[8]; };
index a0c7468eabe2869e99aed39fdaee1b120c88c8f4..20f707cb0c88745cd7a796e07cc19154a6bfce3e 100644 (file)
@@ -601,7 +601,7 @@ void RecordTextWriter::xfrNodeOrLocatorID(const NodeOrLocatorID& val)
 
   size_t ctr = 0;
   char tmp[5];
-  for (auto const &c : val) {
+  for (auto const &c : val.content) {
     snprintf(tmp, sizeof(tmp), "%02X", c);
     d_string+=tmp;
     ctr++;
index b1738cf9d7139abdc4caa3550e8585d521c182eb..e2fd947d83e896b84972158d4a4739714f8ce22c 100644 (file)
@@ -385,14 +385,14 @@ BOOST_AUTO_TEST_CASE(test_xfrNodeOrLocatorID) {
   RecordTextReader rtr(source);
   NodeOrLocatorID v;
   rtr.xfrNodeOrLocatorID(v);
-  BOOST_CHECK_EQUAL(v[0], 0);
-  BOOST_CHECK_EQUAL(v[1], 0);
-  BOOST_CHECK_EQUAL(v[2], 0);
-  BOOST_CHECK_EQUAL(v[3], 0);
-  BOOST_CHECK_EQUAL(v[4], 0);
-  BOOST_CHECK_EQUAL(v[5], 0);
-  BOOST_CHECK_EQUAL(v[6], 0);
-  BOOST_CHECK_EQUAL(v[7], 1);
+  BOOST_CHECK_EQUAL(v.content[0], 0);
+  BOOST_CHECK_EQUAL(v.content[1], 0);
+  BOOST_CHECK_EQUAL(v.content[2], 0);
+  BOOST_CHECK_EQUAL(v.content[3], 0);
+  BOOST_CHECK_EQUAL(v.content[4], 0);
+  BOOST_CHECK_EQUAL(v.content[5], 0);
+  BOOST_CHECK_EQUAL(v.content[6], 0);
+  BOOST_CHECK_EQUAL(v.content[7], 1);
 
   string target;
   RecordTextWriter rtw(target);