]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Replace the use of strncasecmp with pdns_ilexicographical_compare_three_way.
authorMiod Vallat <miod.vallat@powerdns.com>
Mon, 13 Jul 2026 09:04:49 +0000 (11:04 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Mon, 13 Jul 2026 09:04:49 +0000 (11:04 +0200)
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
pdns/dnswriter.cc

index d541c2f64ba791b4a8143acbe917c13573070479..6660650a833b627107c5a53b3b16939cbd6240b2 100644 (file)
@@ -364,9 +364,11 @@ template <typename Container> uint16_t GenericDNSPacketWriter<Container>::lookup
         break;
       }
 
-      if (strncasecmp(raw.c_str() + *positionInNameIter + 1, (const char*)&d_content[*positionInPacketIter] + 1, nlen)) {
+      auto rawpart = std::string_view(raw.c_str() + *positionInNameIter + 1, nlen);
+      auto pktpart = std::string_view((const char*)&d_content[*positionInPacketIter] + 1, nlen);
+      if (pdns_ilexicographical_compare_three_way(rawpart, pktpart) != 0) {
         if (l_verbose) {
-          cout << "Mismatch: " << string(raw.c_str() + *positionInNameIter + 1, raw.c_str() + *positionInNameIter + nlen + 1) << " != " << string((const char*)&d_content[*positionInPacketIter] + 1, (const char*)&d_content[*positionInPacketIter] + nlen + 1) << endl;
+          cout << "Mismatch: " << rawpart << " != " << pktpart << endl;
         }
         break;
       }