summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-12 12:51:48 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2014-08-12 12:51:48 +0100
commit6688b08c7b4c502ed905c9b46c1f957a96320443 (patch)
tree83134d35eaa3add3b79814711c15725f20f7d075
parent52555f7ea9488a3f0030ec2cdfb08ec506348aa1 (diff)
downloadrspamd-6688b08c7b4c502ed905c9b46c1f957a96320443.tar.gz
rspamd-6688b08c7b4c502ed905c9b46c1f957a96320443.zip
Fix buffer overrun when HTML exceptions are used.
-rw-r--r--src/tokenizers/tokenizers.c7
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 {