aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmime/mime_encoding.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-04-07 13:22:58 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-04-07 13:22:58 +0100
commit4b592e861be73eace3ddc1afeaa68eb79f28474d (patch)
tree8f9bf06052131283e8a9197ee522e9c93de4427a /src/libmime/mime_encoding.c
parent2f536c9d4fa1216c9be8b25443a24e4b8f721925 (diff)
downloadrspamd-4b592e861be73eace3ddc1afeaa68eb79f28474d.tar.gz
rspamd-4b592e861be73eace3ddc1afeaa68eb79f28474d.zip
[Minor] Check bounds
Diffstat (limited to 'src/libmime/mime_encoding.c')
-rw-r--r--src/libmime/mime_encoding.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libmime/mime_encoding.c b/src/libmime/mime_encoding.c
index 5f13c1086..440dff35d 100644
--- a/src/libmime/mime_encoding.c
+++ b/src/libmime/mime_encoding.c
@@ -341,6 +341,13 @@ rspamd_mime_charset_utf_enforce (gchar *in, gsize len)
while (remain > 0 && !g_utf8_validate (p, remain, &end)) {
gchar *valid;
+ if (end >= in + len) {
+ if (p < in + len) {
+ memset ((gchar *)p, '?', (in + len) - p);
+ }
+ break;
+ }
+
valid = g_utf8_find_next_char (end, in + len);
if (!valid) {