From: bert hubert Date: Tue, 26 Apr 2016 11:35:06 +0000 (+0200) Subject: getAction(n) for n >= number of rules now properly returns nil instead of crashing X-Git-Tag: rec-4.0.0-alpha3~40^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17f52224633d0a5dfc98a91a4ce52f32f66ce4f2;p=thirdparty%2Fpdns.git getAction(n) for n >= number of rules now properly returns nil instead of crashing --- diff --git a/pdns/dnsdist-lua2.cc b/pdns/dnsdist-lua2.cc index c21fe1899c..cb641be168 100644 --- a/pdns/dnsdist-lua2.cc +++ b/pdns/dnsdist-lua2.cc @@ -602,10 +602,11 @@ void moreLua(bool client) g_lua.writeFunction("getAction", [](unsigned int num) { setLuaNoSideEffect(); + boost::optional> ret; auto rulactions = g_rulactions.getCopy(); - if(num >= rulactions.size()) - return std::shared_ptr(); - return rulactions[num].second; + if(num < rulactions.size()) + ret=rulactions[num].second; + return ret; }); g_lua.registerFunction("getStats", &DNSAction::getStats);