diff options
-rw-r--r-- | src/libmime/filter.c | 3 | ||||
-rw-r--r-- | src/libserver/symbols_cache.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/libmime/filter.c b/src/libmime/filter.c index 303ef2e0f..cc34fcb0c 100644 --- a/src/libmime/filter.c +++ b/src/libmime/filter.c @@ -383,9 +383,10 @@ rspamd_check_action_metric (struct rspamd_task *task, action = &metric->actions[i]; sc = get_specific_action_score (task, ms, action); - if (sc < 0) { + if (isnan (sc)) { continue; } + if (score >= sc && sc > max_score) { selected_action = action; max_score = sc; diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c index 11eff0993..f7b410c28 100644 --- a/src/libserver/symbols_cache.c +++ b/src/libserver/symbols_cache.c @@ -1030,7 +1030,7 @@ rspamd_symbols_cache_metric_limit (struct rspamd_task *task, ms = metric->actions[METRIC_ACTION_REJECT].score; } - if (cp->lim < ms) { + if (!isnan (ms) && cp->lim < ms) { cp->rs = res; cp->lim = ms; } |