aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libstat/learn_cache/redis_cache.c9
-rw-r--r--src/libstat/learn_cache/sqlite3_cache.c12
2 files changed, 16 insertions, 5 deletions
diff --git a/src/libstat/learn_cache/redis_cache.c b/src/libstat/learn_cache/redis_cache.c
index ec2203463..47bfd89a6 100644
--- a/src/libstat/learn_cache/redis_cache.c
+++ b/src/libstat/learn_cache/redis_cache.c
@@ -270,6 +270,10 @@ rspamd_stat_cache_redis_runtime (struct rspamd_task *task,
return NULL;
}
+ if (task->tokens == NULL || task->tokens->len == 0) {
+ return NULL;
+ }
+
if (learn) {
up = rspamd_upstream_get (ctx->write_servers,
RSPAMD_UPSTREAM_MASTER_SLAVE,
@@ -322,7 +326,10 @@ rspamd_stat_cache_redis_check (struct rspamd_task *task,
gchar *h;
h = rspamd_mempool_get_variable (task->task_pool, "words_hash");
- g_assert (h != NULL);
+
+ if (h == NULL) {
+ return RSPAMD_LEARN_INGORE;
+ }
double_to_tv (rt->ctx->timeout, &tv);
diff --git a/src/libstat/learn_cache/sqlite3_cache.c b/src/libstat/learn_cache/sqlite3_cache.c
index 288cad0ee..41731fa10 100644
--- a/src/libstat/learn_cache/sqlite3_cache.c
+++ b/src/libstat/learn_cache/sqlite3_cache.c
@@ -183,6 +183,10 @@ rspamd_stat_cache_sqlite3_check (struct rspamd_task *task,
gint rc;
gint64 flag;
+ if (task->tokens == NULL || task->tokens->len == 0) {
+ return RSPAMD_LEARN_INGORE;
+ }
+
if (ctx != NULL && ctx->db != NULL) {
out = rspamd_mempool_alloc (task->task_pool, rspamd_cryptobox_HASHBYTES);
@@ -223,9 +227,6 @@ rspamd_stat_cache_sqlite3_check (struct rspamd_task *task,
return RSPAMD_LEARN_UNLEARN;
}
}
- else {
-
- }
}
return RSPAMD_LEARN_OK;
@@ -242,7 +243,10 @@ rspamd_stat_cache_sqlite3_learn (struct rspamd_task *task,
gint64 flag;
h = rspamd_mempool_get_variable (task->task_pool, "words_hash");
- g_assert (h != NULL);
+
+ if (h == NULL) {
+ return RSPAMD_LEARN_INGORE;
+ }
flag = !!is_spam ? 1 : 0;