diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-07-06 16:00:48 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-07-06 16:01:14 +0100 |
commit | da83d3b494f02ff1b4070c812e5b328b86ace4cd (patch) | |
tree | b4861b09e4265123c8b6be88978fe9c5ff375f52 /src/libstat/learn_cache/sqlite3_cache.c | |
parent | 73e14026693fb6753c1085fe557d63cb19690d6c (diff) | |
download | rspamd-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.c | 8 |
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); |