memcpy (old_charset, new_charset, sizeof (*old_charset));
}
+static void
+rspamd_mime_header_sanity_check (GString *str)
+{
+ gsize i;
+ gchar t;
+
+ for (i = 0; i < str->len; i ++) {
+ t = str->str[i];
+ if (!((t & 0x80) || g_ascii_isgraph (t) || t == ' ')) {
+ str->str[i] = '?';
+ }
+ }
+}
+
gchar *
rspamd_mime_header_decode (rspamd_mempool_t *pool, const gchar *in,
gsize inlen)
g_byte_array_free (token, TRUE);
g_byte_array_free (decoded, TRUE);
+ rspamd_mime_header_sanity_check (out);
ret = g_string_free (out, FALSE);
rspamd_mempool_add_destructor (pool, g_free, ret);