diff options
-rw-r--r-- | src/libstat/classifiers/bayes.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libstat/classifiers/bayes.c b/src/libstat/classifiers/bayes.c index 5295e018b..ee2125457 100644 --- a/src/libstat/classifiers/bayes.c +++ b/src/libstat/classifiers/bayes.c @@ -430,6 +430,19 @@ bayes_classify (struct rspamd_classifier * ctx, (final_prob - 0.5) * 200.); final_prob = rspamd_normalize_probability (final_prob, 0.5); g_assert (st != NULL); + + if (final_prob > 1 || final_prob < 0) { + msg_err_bayes ("internal error: probability %f is outside of the " + "allowed range [0..1]", final_prob); + + if (final_prob > 1) { + final_prob = 1.0; + } + else { + final_prob = 0.0; + } + } + rspamd_task_insert_result (task, st->stcf->symbol, final_prob, |