summaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-03-27 13:25:21 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-03-27 13:25:21 +0100
commitf03c7fe732ba335f84514bccac42d649f5c998ca (patch)
treee178f367a9e88a866d1e83416302d80510a2522e /src/libmime
parent7494b0f7ddbcd098da6cf02b40c1db4878cc8310 (diff)
downloadrspamd-f03c7fe732ba335f84514bccac42d649f5c998ca.tar.gz
rspamd-f03c7fe732ba335f84514bccac42d649f5c998ca.zip
[Minor] Fix out-of-boundary access
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/message.c6
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,