aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-10-31 18:56:28 +0000
committerAndrew Lewis <nerf@judo.za.org>2018-01-24 11:53:00 +0200
commite5b289762d39c1807746f163dd96f49776b18bc8 (patch)
tree0d1f3fbc35d2b784bb503b75969f3d03a72b9232
parent16830495ffab0f812b04b7238becfffac518b4ac (diff)
downloadrspamd-e5b289762d39c1807746f163dd96f49776b18bc8.tar.gz
rspamd-e5b289762d39c1807746f163dd96f49776b18bc8.zip
[Fix] Do not try to dereference last character
MFH: rspamd-1.6
-rw-r--r--src/libstat/tokenizers/tokenizers.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libstat/tokenizers/tokenizers.c b/src/libstat/tokenizers/tokenizers.c
index f75310fe3..aec801b05 100644
--- a/src/libstat/tokenizers/tokenizers.c
+++ b/src/libstat/tokenizers/tokenizers.c
@@ -198,7 +198,7 @@ rspamd_tokenizer_get_word (rspamd_stat_token_t * buf,
p = s;
token->begin = s;
- for (i = 0; i <= remain; ) {
+ for (i = 0; i < remain; ) {
p = &s[i];
U8_NEXT (s, i, remain, uc); /* This also advances i */
@@ -254,6 +254,13 @@ rspamd_tokenizer_get_word (rspamd_stat_token_t * buf,
}
}
+ /* Last character */
+ if (state == feed_token) {
+ goto set_token;
+ }
+
+ return FALSE;
+
set_token:
if (rl) {
*rl = processed;