summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libstat/classifiers/bayes.c13
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,