]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Add sanity checks for bayes probability
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 16 Nov 2018 10:16:56 +0000 (10:16 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 16 Nov 2018 10:16:56 +0000 (10:16 +0000)
src/libstat/classifiers/bayes.c

index 5295e018b9d171f759c664eb47503343414acc8d..ee21254571384dcef7555c30cc04be2d09b73a83 100644 (file)
@@ -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,