From: Remi Gacogne Date: Fri, 3 Jan 2020 17:05:57 +0000 (+0100) Subject: dnsdist: Skip the creation of temp objects in KVS lookups from Lua X-Git-Tag: auth-4.3.0-beta2~1^2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e0221fc47151b611f74e74c7dab33ace8b4c126;p=thirdparty%2Fpdns.git dnsdist: Skip the creation of temp objects in KVS lookups from Lua --- diff --git a/pdns/dnsdistdist/dnsdist-lua-bindings-kvs.cc b/pdns/dnsdistdist/dnsdist-lua-bindings-kvs.cc index 5050879af2..a026cfb11b 100644 --- a/pdns/dnsdistdist/dnsdist-lua-bindings-kvs.cc +++ b/pdns/dnsdistdist/dnsdist-lua-bindings-kvs.cc @@ -64,26 +64,26 @@ void setupLuaBindingsKVS(bool client) } if (keyVar.type() == typeid(ComboAddress)) { - const auto ca = *boost::get(&keyVar); + const auto ca = boost::get(&keyVar); KeyValueLookupKeySourceIP lookup; - for (const auto& key : lookup.getKeys(ca)) { + for (const auto& key : lookup.getKeys(*ca)) { if (kvs->getValue(key, result)) { return result; } } } else if (keyVar.type() == typeid(DNSName)) { - DNSName dn = *boost::get(&keyVar); + const DNSName* dn = boost::get(&keyVar); KeyValueLookupKeyQName lookup(wireFormat ? *wireFormat : true); - for (const auto& key : lookup.getKeys(dn)) { + for (const auto& key : lookup.getKeys(*dn)) { if (kvs->getValue(key, result)) { return result; } } } else if (keyVar.type() == typeid(std::string)) { - std::string keyStr = *boost::get(&keyVar); - kvs->getValue(keyStr, result); + const std::string* keyStr = boost::get(&keyVar); + kvs->getValue(*keyStr, result); } return result;