From 77d8fb13d64763071febb3980c016c5f4976b70d Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 14 Mar 2018 13:43:23 +0000 Subject: [PATCH] [Fix] Do not cache metric result --- src/lua/lua_task.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 89f35e90da..b0c7c8fd50 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -4180,19 +4180,12 @@ lua_task_get_metric_action (lua_State *L) enum rspamd_action_type action; if (task) { - if ((metric_res = task->result) != NULL) { - if (task->result->action == METRIC_ACTION_MAX) { - action = rspamd_check_action_metric (task, metric_res); - } - else { - action = task->result->action; - } - - lua_pushstring (L, rspamd_action_to_str (action)); - } - else { - lua_pushnil (L); + if ((metric_res = task->result) == NULL) { + metric_res = rspamd_create_metric_result (task); } + + action = rspamd_check_action_metric (task, metric_res); + lua_pushstring (L, rspamd_action_to_str (action)); } else { return luaL_error (L, "invalid arguments"); -- 2.47.3