diff --git a/pdns/dnsdist-lua-bindings.cc b/pdns/dnsdist-lua-bindings.cc index e25d74abe8c3..34a745bb6013 100644 --- a/pdns/dnsdist-lua-bindings.cc +++ b/pdns/dnsdist-lua-bindings.cc @@ -107,14 +107,14 @@ void setupLuaBindings(LuaContext& luaCtx, bool client, bool configCheck) #ifndef DISABLE_DOWNSTREAM_BINDINGS /* DownstreamState */ - luaCtx.registerFunction("setQPS", [](DownstreamState& state, int lim) { state.qps = lim ? QPSLimiter(lim, lim) : QPSLimiter(); }); - luaCtx.registerFunction::*)(string)>("addPool", [](std::shared_ptr state, string pool) { + luaCtx.registerFunction("setQPS", [](DownstreamState& state, int lim) { state.qps = lim > 0 ? QPSLimiter(lim, lim) : QPSLimiter(); }); + luaCtx.registerFunction::*)(string)>("addPool", [](const std::shared_ptr& state, string pool) { auto localPools = g_pools.getCopy(); addServerToPool(localPools, pool, state); g_pools.setState(localPools); state->d_config.pools.insert(pool); }); - luaCtx.registerFunction::*)(string)>("rmPool", [](std::shared_ptr state, string pool) { + luaCtx.registerFunction::*)(string)>("rmPool", [](const std::shared_ptr& state, string pool) { auto localPools = g_pools.getCopy(); removeServerFromPool(localPools, pool, state); g_pools.setState(localPools);