aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-04-01 12:40:41 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-04-01 12:41:12 +0100
commit333f3d2617cfaedfe7c75518e7855832976d031e (patch)
tree4de8721ea188a9b3dad3fc85401ca7c29a489b4d /src/libmime
parentf03c580c859d65ad13742501b2b855a40bcfd488 (diff)
downloadrspamd-333f3d2617cfaedfe7c75518e7855832976d031e.tar.gz
rspamd-333f3d2617cfaedfe7c75518e7855832976d031e.zip
[Fix] Another FSM fix to accomodate possibility of multiple consequent ?
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/mime_headers.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libmime/mime_headers.c b/src/libmime/mime_headers.c
index bb7b9373a..4d2c89dae 100644
--- a/src/libmime/mime_headers.c
+++ b/src/libmime/mime_headers.c
@@ -670,6 +670,14 @@ rspamd_mime_header_decode (rspamd_mempool_t *pool, const gchar *in,
if (*p == '?') {
state = got_more_qmark;
qmarks ++;
+
+ /* Skip multiple ? signs */
+ p ++;
+ while (p < end && *p == '?') {
+ p ++;
+ }
+
+ continue;
}
p ++;
break;