aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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) {