diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-08-12 12:51:48 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2014-08-12 12:51:48 +0100 |
commit | 6688b08c7b4c502ed905c9b46c1f957a96320443 (patch) | |
tree | 83134d35eaa3add3b79814711c15725f20f7d075 | |
parent | 52555f7ea9488a3f0030ec2cdfb08ec506348aa1 (diff) | |
download | rspamd-6688b08c7b4c502ed905c9b46c1f957a96320443.tar.gz rspamd-6688b08c7b4c502ed905c9b46c1f957a96320443.zip |
Fix buffer overrun when HTML exceptions are used.
-rw-r--r-- | src/tokenizers/tokenizers.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tokenizers/tokenizers.c b/src/tokenizers/tokenizers.c index eb7a489e5..6598d66e8 100644 --- a/src/tokenizers/tokenizers.c +++ b/src/tokenizers/tokenizers.c @@ -137,11 +137,12 @@ get_next_word (f_str_t * buf, f_str_t * token, GList **exceptions) token->len = 0; - remain = buf->len - (token->begin - buf->begin); - if (remain == 0) { + pos = token->begin - buf->begin; + if (pos >= buf->len) { return NULL; } - pos = token->begin - buf->begin; + + remain = buf->len - pos; p = token->begin; /* Skip non delimiters symbols */ do { |