From: Otto Moerbeek Date: Thu, 13 Nov 2025 14:24:59 +0000 (+0100) Subject: rec: fix coverity 1635199, 1643012, 1643013 X-Git-Tag: rec-5.4.0-alpha1~82^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F16497%2Fhead;p=thirdparty%2Fpdns.git rec: fix coverity 1635199, 1643012, 1643013 First two are simple optimizatios. 1643013 is: Check of thread-shared field evades lock acquisition Signed-off-by: Otto Moerbeek --- diff --git a/pdns/recursordist/rec_channel_rec.cc b/pdns/recursordist/rec_channel_rec.cc index 394717d0f2..1e5b50a2c4 100644 --- a/pdns/recursordist/rec_channel_rec.cc +++ b/pdns/recursordist/rec_channel_rec.cc @@ -359,7 +359,7 @@ static Answer doGetDefaultParameter(ArgIterator begin, ArgIterator end) auto defaults = pdns::rust::settings::rec::parse_yaml_string(""); if (begin == end) { auto yaml = pdns::settings::rec::defaultsToYaml(false); - ret << std::string(yaml); + ret << std::string(std::move(yaml)); } else { for (auto i = begin; i != end; ++i) { @@ -692,7 +692,7 @@ static Answer doSetCarbonServer(ArgIterator begin, ArgIterator end) } else { g_carbonConfig.setState(std::move(config)); - return {0, ret}; + return {0, std::move(ret)}; } ++begin; @@ -717,9 +717,10 @@ static Answer doSetDnssecLogBogus(ArgIterator begin, ArgIterator end) return {1, "No DNSSEC Bogus logging setting specified\n"}; } if (pdns_iequals(*begin, "on") || pdns_iequals(*begin, "yes")) { + auto lock = g_yamlStruct.lock(); if (!g_dnssecLogBogus) { g_log << Logger::Warning << "Enabling DNSSEC Bogus logging, requested via control channel" << endl; - g_yamlStruct.lock()->dnssec.log_bogus = g_dnssecLogBogus = true; + lock->dnssec.log_bogus = g_dnssecLogBogus = true; return {0, "DNSSEC Bogus logging enabled\n"}; } return {0, "DNSSEC Bogus logging was already enabled\n"};