]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: Fix unnecessary copies reported by Coverity
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 20 Nov 2023 13:13:20 +0000 (14:13 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 20 Nov 2023 13:13:20 +0000 (14:13 +0100)
modules/remotebackend/remotebackend.cc
pdns/arguments.cc
pdns/gss_context.cc
pdns/rcpgenerator.cc
pdns/sdig.cc
pdns/tsigverifier.cc
pdns/ueberbackend.cc
pdns/webserver.cc
pdns/ws-auth.cc
pdns/zoneparser-tng.cc

index 2cb6d5f9301b4a1d8431ad68df547455c3ae2db1..887d2b8f4a4eda72507da52564383b4b15b3a5cf 100644 (file)
@@ -162,7 +162,7 @@ int RemoteBackend::build()
       key = opt.substr(0, pos);
       val = opt.substr(pos + 1);
     }
-    options[key] = val;
+    options[key] = std::move(val);
   }
 
   // connectors know what they are doing
index 640699515347aafcdc8da12af325256f80fe746a..f87fa39b1d23458862148a68c424f40da560605d 100644 (file)
@@ -441,7 +441,7 @@ void ArgvMap::parseOne(const string& arg, const string& parseOnly, bool lax)
       vector<string> parts;
       stringtok(parts, d_params["ignore-unknown-settings"], " ,\t\n\r");
       if (find(parts.begin(), parts.end(), var) != parts.end()) {
-        d_unknownParams[var] = val;
+        d_unknownParams[var] = std::move(val);
         SLOG(g_log << Logger::Warning << "Ignoring unknown setting '" << var << "' as requested" << endl,
              d_log->info(Logr::Warning, "Ignoring unknown setting as requested", "name", Logging::Loggable(var)));
         return;
index 4d5b7e7412afedb3fc86509bbfd6fdd75fd03ca1..a59296df6ce6d5807f5d4cdf9f347943deebd38e 100644 (file)
@@ -556,7 +556,7 @@ bool gss_add_signature(const DNSName& context, const std::string& message, std::
     }
     return false;
   }
-  mac = tmp_mac;
+  mac = std::move(tmp_mac);
   return true;
 }
 
index 00a53de67ac69a21253b42c32b22ad7f5c0038a9..7ff9a7be7663d64ba11e2efca1d917bfef3cfe41 100644 (file)
@@ -257,19 +257,22 @@ void RecordTextReader::xfrName(DNSName& val, bool, bool)
 
   const char* strptr=d_string.c_str();
   string::size_type begin_pos = d_pos;
-  while(d_pos < d_end) {
-    if(strptr[d_pos]!='\r' && dns_isspace(strptr[d_pos]))
+  while (d_pos < d_end) {
+    if (strptr[d_pos]!='\r' && dns_isspace(strptr[d_pos])) {
       break;
+    }
 
     d_pos++;
   }
   sval = DNSName(std::string(strptr+begin_pos, strptr+d_pos));
 
-  if(sval.empty())
-    sval=d_zone;
-  else if(!d_zone.empty())
-    sval+=d_zone;
-  val = sval;
+  if (sval.empty()) {
+    sval = d_zone;
+  }
+  else if (!d_zone.empty()) {
+    sval += d_zone;
+  }
+  val = std::move(sval);
 }
 
 static bool isbase64(char c, bool acceptspace)
index 05bfc7d6e8e37be866cefa2952c7ba017829c3ff..60d14b6bfe9128f626d5caef3097ecaba790c82a 100644 (file)
@@ -423,7 +423,7 @@ try {
     Socket sock(dest.sin4.sin_family, SOCK_STREAM);
     sock.setNonBlocking();
     setTCPNoDelay(sock.getHandle()); // disable NAGLE, which does not play nicely with delayed ACKs
-    TCPIOHandler handler(subjectName, false, sock.releaseHandle(), timeout, tlsCtx);
+    TCPIOHandler handler(subjectName, false, sock.releaseHandle(), timeout, std::move(tlsCtx));
     handler.connect(fastOpen, dest, timeout);
     // we are writing the proxyheader inside the TLS connection. Is that right?
     if (proxyheader.size() > 0 && handler.write(proxyheader.data(), proxyheader.size(), timeout) != proxyheader.size()) {
index 05e7b2a3f6c25b8aa2d3fab16a368cab9cd609cf..b5300179751730f8d4bfbc2e6a44b2b2395eaf81 100644 (file)
@@ -62,13 +62,14 @@ bool TSIGTCPVerifier::check(const string& data, const MOADNSParser& mdp)
     }
 
     // Reset and store some values for the next chunks.
-    d_prevMac = theirMac;
+    d_prevMac = std::move(theirMac);
     d_nonSignedMessages = 0;
     d_signData.clear();
     d_tsigPos = 0;
   }
-  else
+  else {
     d_nonSignedMessages++;
+  }
 
   return true;
 }
index a5981a7e7b6d4781302f88d49d0161b152b733d8..ebf0129a57796c2f106ae09e3ce0464f5e8d0b70 100644 (file)
@@ -564,7 +564,7 @@ bool UeberBackend::getSOAUncached(const DNSName& domain, SOAData& soaData)
         zoneRecord.dr.d_ttl = soaData.ttl;
         zoneRecord.domain_id = soaData.domain_id;
 
-        addCache(d_question, {zoneRecord});
+        addCache(d_question, {std::move(zoneRecord)});
       }
       return true;
     }
index aadea06b4379b4b376d88858138910c8f2b5f60c..98431a07d84d3225e94e5ecd806f481ad0b6b4db 100644 (file)
@@ -346,7 +346,7 @@ void WebServer::handleRequest(HttpRequest& req, HttpResponse& resp) const
       resp.body = "<!html><title>" + what + "</title><h1>" + what + "</h1>";
     } else {
       resp.headers["Content-Type"] = "text/plain; charset=utf-8";
-      resp.body = what;
+      resp.body = std::move(what);
     }
   }
 
@@ -385,7 +385,7 @@ void WebServer::logRequest(const HttpRequest& req, [[maybe_unused]] const ComboA
 #ifdef RECURSOR
     if (!g_slogStructured) {
 #endif
-      auto logprefix = req.logprefix;
+      const auto& logprefix = req.logprefix;
       g_log<<Logger::Notice<<logprefix<<"Request details:"<<endl;
 
       bool first = true;
index 9612f75362b692df98b34a1614f616afd71e0d52..e8460e26f7cbf4ee96f49bbca6a4119c2972b77b 100644 (file)
@@ -1873,7 +1873,7 @@ static void apiServerZonesPost(HttpRequest* req, HttpResponse* resp) {
   updateDomainSettingsFromDocument(B, di, zonename, document, !new_records.empty());
 
   if (!catalog && kind == DomainInfo::Primary) {
-    auto defaultCatalog = ::arg()["default-catalog-zone"];
+    const auto& defaultCatalog = ::arg()["default-catalog-zone"];
     if (!defaultCatalog.empty()) {
       di.backend->setCatalog(zonename, DNSName(defaultCatalog));
     }
index b042ede33acffcc9ba35a11f8ea6599a3bbf2f18..1ab6c7119aaa0b2e21e353f2bf500822d12ab2c6 100644 (file)
@@ -271,7 +271,7 @@ bool ZoneParserTNG::getTemplateLine()
     d_templatecounter += d_templatestep;
   }
 
-  d_line = retline;
+  d_line = std::move(retline);
   return true;
 }