summaryrefslogtreecommitdiffstats
path: root/src/libstat/learn_cache/sqlite3_cache.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-07-06 16:00:48 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-07-06 16:01:14 +0100
commitda83d3b494f02ff1b4070c812e5b328b86ace4cd (patch)
treeb4861b09e4265123c8b6be88978fe9c5ff375f52 /src/libstat/learn_cache/sqlite3_cache.c
parent73e14026693fb6753c1085fe557d63cb19690d6c (diff)
downloadrspamd-da83d3b494f02ff1b4070c812e5b328b86ace4cd.tar.gz
rspamd-da83d3b494f02ff1b4070c812e5b328b86ace4cd.zip
Do not dereference null pointer on learning.
Diffstat (limited to 'src/libstat/learn_cache/sqlite3_cache.c')
-rw-r--r--src/libstat/learn_cache/sqlite3_cache.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libstat/learn_cache/sqlite3_cache.c b/src/libstat/learn_cache/sqlite3_cache.c
index d8c904d90..017ee6108 100644
--- a/src/libstat/learn_cache/sqlite3_cache.c
+++ b/src/libstat/learn_cache/sqlite3_cache.c
@@ -202,9 +202,11 @@ rspamd_stat_cache_sqlite3_process (struct rspamd_task *task,
while (cur) {
part = (struct mime_text_part *)cur->data;
- for (i = 0; i < part->words->len; i ++) {
- word = &g_array_index (part->words, rspamd_fstring_t, i);
- blake2b_update (&st, word->begin, word->len);
+ if (part->words != NULL) {
+ for (i = 0; i < part->words->len; i ++) {
+ word = &g_array_index (part->words, rspamd_fstring_t, i);
+ blake2b_update (&st, word->begin, word->len);
+ }
}
cur = g_list_next (cur);