From 9d97d3289494e72db53d9d87e722d29ce3996e31 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 30 Jun 2017 21:53:30 +0100 Subject: [PATCH] [Fix] Do not overwrite score when setting pre-action --- src/lua/lua_task.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lua/lua_task.c b/src/lua/lua_task.c index 06b699a38..b9d8ad56f 100644 --- a/src/lua/lua_task.c +++ b/src/lua/lua_task.c @@ -1210,10 +1210,15 @@ lua_task_set_pre_result (lua_State * L) if (action < METRIC_ACTION_MAX && action >= METRIC_ACTION_REJECT) { /* We also need to set the default metric to that result */ - mres = rspamd_create_metric_result (task); - if (mres != NULL) { - mres->score = mres->metric->actions[action].score; - mres->action = action; + if (!task->result) { + mres = rspamd_create_metric_result (task); + if (mres != NULL) { + mres->score = mres->metric->actions[action].score; + mres->action = action; + } + } + else { + task->result->action = action; } task->pre_result.action = action; -- 2.39.5