]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fix performance inefficiencies reported by Coverity 16126/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 16 Sep 2025 07:17:47 +0000 (09:17 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 16 Sep 2025 07:17:47 +0000 (09:17 +0200)
Fixes Coverity 490091, 490092, 490093 and 490094.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
pdns/dnsdistdist/dnsdist-lua-ffi.cc

index f6df4a0e655d3111f42c46fa104760c5b4797f4a..439beb8851907207583e10ad44deb4a38f28bc6a 100644 (file)
@@ -1857,7 +1857,7 @@ bool dnsdist_ffi_dnspacket_parse_a_record(const char* raw, const dnsdist_ffi_dns
     return false;
   }
 
-  auto record = packet->overlay.d_records.at(idx);
+  const auto& record = packet->overlay.d_records.at(idx);
   if (record.d_type != QType::A || record.d_contentLength != 4) {
     return false;
   }
@@ -1875,7 +1875,7 @@ bool dnsdist_ffi_dnspacket_parse_aaaa_record(const char* raw, const dnsdist_ffi_
     return false;
   }
 
-  auto record = packet->overlay.d_records.at(idx);
+  const auto& record = packet->overlay.d_records.at(idx);
   if (record.d_type != QType::AAAA || record.d_contentLength != 16) {
     return false;
   }
@@ -1893,7 +1893,7 @@ bool dnsdist_ffi_dnspacket_parse_address_record(const char* raw, const dnsdist_f
     return false;
   }
 
-  auto record = packet->overlay.d_records.at(idx);
+  const auto& record = packet->overlay.d_records.at(idx);
   if (record.d_type == QType::A && record.d_contentLength == 4) {
     // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic): this is a C API
     memcpy(addr, &raw[record.d_contentOffset], 4);
@@ -1919,7 +1919,7 @@ bool dnsdist_ffi_dnspacket_parse_cname_record(const char* raw, const dnsdist_ffi
     return false;
   }
 
-  auto record = packet->overlay.d_records.at(idx);
+  const auto& record = packet->overlay.d_records.at(idx);
   if (record.d_type != QType::CNAME) {
     return false;
   }