diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-03-27 13:25:21 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2018-03-27 13:25:21 +0100 |
commit | f03c7fe732ba335f84514bccac42d649f5c998ca (patch) | |
tree | e178f367a9e88a866d1e83416302d80510a2522e /src/libmime | |
parent | 7494b0f7ddbcd098da6cf02b40c1db4878cc8310 (diff) | |
download | rspamd-f03c7fe732ba335f84514bccac42d649f5c998ca.tar.gz rspamd-f03c7fe732ba335f84514bccac42d649f5c998ca.zip |
[Minor] Fix out-of-boundary access
Diffstat (limited to 'src/libmime')
-rw-r--r-- | src/libmime/message.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libmime/message.c b/src/libmime/message.c index 756cd9b47..37882aaf6 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -404,7 +404,7 @@ rspamd_strip_newlines_parse (const gchar *begin, const gchar *pe, part->spaces ++; } - if (*p == '\r' || *p == '\n') { + if (p < pe && (*p == '\r' || *p == '\n')) { part->empty_lines ++; } } @@ -419,6 +419,10 @@ rspamd_strip_newlines_parse (const gchar *begin, const gchar *pe, /* Leftover */ if (p > c) { + if (p > pe) { + p = pe; + } + switch (state) { case normal_char: g_byte_array_append (part->stripped_content, |