From 17f52224633d0a5dfc98a91a4ce52f32f66ce4f2 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Tue, 26 Apr 2016 13:35:06 +0200 Subject: [PATCH] getAction(n) for n >= number of rules now properly returns nil instead of crashing --- pdns/dnsdist-lua2.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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); -- 2.47.2