From: Vsevolod Stakhov Date: Tue, 21 Mar 2017 17:24:24 +0000 (+0000) Subject: [Minor] Fix some issues when dealing with scores X-Git-Tag: 1.5.4~66 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=532914ab6ccbff8ab1105e7883d2ea008858bd5a;p=thirdparty%2Frspamd.git [Minor] Fix some issues when dealing with scores --- diff --git a/src/libmime/filter.c b/src/libmime/filter.c index ed949a86a4..9d094d9acf 100644 --- a/src/libmime/filter.c +++ b/src/libmime/filter.c @@ -77,7 +77,7 @@ rspamd_check_group_score (struct rspamd_task *task, gdouble *group_score, gdouble w) { - if (gr != NULL && group_score && gr->max_score > 0.0) { + if (gr != NULL && group_score && gr->max_score > 0.0 && w > 0.0) { if (*group_score >= gr->max_score && w > 0) { msg_info_task ("maximum group score %.2f for group %s has been reached," " ignoring symbol %s with weight %.2f", gr->max_score, @@ -165,9 +165,6 @@ insert_metric_result (struct rspamd_task *task, } else { s->nshots ++; - } - - if (!single) { rspamd_task_add_result_option (task, s, opt); } @@ -176,7 +173,7 @@ insert_metric_result (struct rspamd_task *task, diff = w; } else { - if (fabs (s->score) < fabs (w)) { + if (fabs (s->score) < fabs (w) && signbit (s->score) == signbit (w)) { /* Replace less weight with a bigger one */ diff = metric_res->score - s->score + w; }