From: Remi Gacogne Date: Tue, 21 Nov 2023 10:10:35 +0000 (+0100) Subject: auth: Fix 'auto causes a copy'/'copy instead of move' warnings from Coverity X-Git-Tag: rec-5.0.0-rc1~3^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8690b6ff139d92c0c2d1ce852a21bd5ed1417b11;p=thirdparty%2Fpdns.git auth: Fix 'auto causes a copy'/'copy instead of move' warnings from Coverity --- diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index 481658453c..013c9eb8ac 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -520,7 +520,7 @@ void Bind2Backend::parseZoneFile(BB2DomainInfo* bbd) bbd->d_status = "parsed into memory at " + nowTime(); bbd->d_records = LookButDontTouch(std::move(records)); bbd->d_nsec3zone = nsec3zone; - bbd->d_nsec3param = ns3pr; + bbd->d_nsec3param = std::move(ns3pr); } /** THIS IS AN INTERNAL FUNCTION! It does moadnsparser prio impedance matching @@ -1475,7 +1475,7 @@ bool Bind2Backend::searchRecords(const string& pattern, size_t maxResults, vecto DNSName name = ri->qname.empty() ? i.d_name : (ri->qname + i.d_name); if (sm.match(name) || sm.match(ri->content)) { DNSResourceRecord r; - r.qname = name; + r.qname = std::move(name); r.domain_id = i.d_id; r.content = ri->content; r.qtype = ri->qtype; diff --git a/modules/geoipbackend/geoipbackend.cc b/modules/geoipbackend/geoipbackend.cc index 1f8e997663..014aa24f00 100644 --- a/modules/geoipbackend/geoipbackend.cc +++ b/modules/geoipbackend/geoipbackend.cc @@ -197,7 +197,7 @@ void GeoIPBackend::setupNetmasks(const YAML::Node& domain, GeoIPDomain& dom) throw PDNSException(string("%mp is not allowed in mapping lookup formats of domain ") + dom.domain.toLogString()); } - dom.mapping_lookup_formats = mapping_lookup_formats; + dom.mapping_lookup_formats = std::move(mapping_lookup_formats); } else { dom.mapping_lookup_formats = d_global_mapping_lookup_formats; @@ -654,9 +654,10 @@ static string queryGeoIP(const Netmask& addr, GeoIPInterface::GeoIPQueryAttribut break; } - if (!found || val.empty() || val == "--") + if (!found || val.empty() || val == "--") { continue; // try next database - ret = val; + } + ret = std::move(val); std::transform(ret.begin(), ret.end(), ret.begin(), ::tolower); break; } diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index d3351d16dd..fcc5cc85d4 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -1678,12 +1678,13 @@ bool GSQLBackend::createSecondaryDomain(const string& ip, const DNSName& domain, if (!d_result.empty()) { // collect all IP addresses vector tmp; - for(const auto& row: d_result) { - if (account == row[1]) + for (const auto& row: d_result) { + if (account == row[1]) { tmp.emplace_back(row[0], 53); + } } // set them as domain's primaries, comma separated - primaries = tmp; + primaries = std::move(tmp); } } createDomain(domain, DomainInfo::Secondary, primaries, account); diff --git a/pdns/gss_context.cc b/pdns/gss_context.cc index a59296df6c..1297356a0a 100644 --- a/pdns/gss_context.cc +++ b/pdns/gss_context.cc @@ -143,7 +143,7 @@ public: if (!cred->valid()) { throw PDNSException("Invalid credential " + cred->d_nameS); } - d_cred = cred; + d_cred = std::move(cred); } ~GssSecContext() diff --git a/pdns/ixfrdist.cc b/pdns/ixfrdist.cc index da522ddb8a..147c004d14 100644 --- a/pdns/ixfrdist.cc +++ b/pdns/ixfrdist.cc @@ -471,7 +471,7 @@ static void updateThread(const string& workdir, const uint16_t& keep, const uint g_log<latestAXFR.size() : 0)<<" entries, "<latestAXFR = std::move(records); - ixfrInfo->soa = soa; + ixfrInfo->soa = std::move(soa); ixfrInfo->soaTTL = soaTTL; updateCurrentZoneInfo(domain, ixfrInfo); } catch (PDNSException &e) { diff --git a/pdns/pdnsutil.cc b/pdns/pdnsutil.cc index a3d6d148a4..94167c39ce 100644 --- a/pdns/pdnsutil.cc +++ b/pdns/pdnsutil.cc @@ -677,7 +677,7 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con } } - auto trueTarget = target.isRoot() ? name : target; + const auto& trueTarget = target.isRoot() ? name : target; if (prio > 0) { if(v4hintsAuto && arecords.find(trueTarget) == arecords.end()) { cout << "[warning] SVCB record for "<< name << " has automatic IPv4 hints, but no A-record for the target at "<< trueTarget <<" exists."<= maxConnectionDuration) { + if (elapsed > 0 && elapsed >= maxConnectionDuration) { return true; } - remainingTime = maxConnectionDuration - elapsed; + remainingTime = static_cast(maxConnectionDuration - elapsed); } return false; } diff --git a/pdns/ueberbackend.cc b/pdns/ueberbackend.cc index ebf0129a57..1d9950fb79 100644 --- a/pdns/ueberbackend.cc +++ b/pdns/ueberbackend.cc @@ -531,7 +531,7 @@ bool UeberBackend::getAuth(const DNSName& target, const QType& qtype, SOAData* s resourceRecord.dr.d_ttl = soaData->ttl; resourceRecord.domain_id = soaData->domain_id; - addCache(d_question, {resourceRecord}); + addCache(d_question, {std::move(resourceRecord)}); } } diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index e8460e26f7..d3c0e243ec 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -1597,7 +1597,7 @@ static void apiServerTSIGKeyDetail(HttpRequest* req, HttpResponse* resp) { struct TSIGKey tsk; tsk.name = keyname; tsk.algorithm = algo; - tsk.key = content; + tsk.key = std::move(content); if (req->method == "GET") { resp->setJsonBody(makeJSONTSIGKey(tsk)); @@ -1623,7 +1623,7 @@ static void apiServerTSIGKeyDetail(HttpRequest* req, HttpResponse* resp) { if (B64Decode(new_content, decoded) == -1) { throw ApiException("Can not base64 decode key content '" + new_content + "'"); } - tsk.key = new_content; + tsk.key = std::move(new_content); } if (!B.setTSIGKey(tsk.name, tsk.algorithm, tsk.key)) { throw HttpInternalServerErrorException("Unable to save TSIG Key");