From f93b470fd4b445de6a8446e270bd2f70e4cd7353 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Tue, 23 Nov 2010 10:34:44 +0000 Subject: [PATCH] Fix bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding). --- ext/imap/php_imap.c | 2 +- ext/imap/tests/bug53377.phpt | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 ext/imap/tests/bug53377.phpt diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index 61f48684b4..5a7f968813 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -4235,7 +4235,7 @@ PHP_FUNCTION(imap_mime_header_decode) } offset = end_token+2; - for (i = 0; (string[offset + i] == ' ') || (string[offset + i] == 0x0a) || (string[offset + i] == 0x0d); i++); + for (i = 0; (string[offset + i] == ' ') || (string[offset + i] == 0x0a) || (string[offset + i] == 0x0d) || (string[offset + i] == '\t'); i++); if ((string[offset + i] == '=') && (string[offset + i + 1] == '?') && (offset + i < end)) { offset += i; } diff --git a/ext/imap/tests/bug53377.phpt b/ext/imap/tests/bug53377.phpt new file mode 100644 index 0000000000..1a2173a09b --- /dev/null +++ b/ext/imap/tests/bug53377.phpt @@ -0,0 +1,38 @@ +--TEST-- +Bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding) +--SKIPIF-- + +--FILE-- + + object(stdClass)#1 (2) { + ["charset"]=> + string(5) "UTF-8" + ["text"]=> + string(3) "€" + } + [1]=> + object(stdClass)#2 (2) { + ["charset"]=> + string(5) "UTF-8" + ["text"]=> + string(3) "€" + } + [2]=> + object(stdClass)#3 (2) { + ["charset"]=> + string(5) "UTF-8" + ["text"]=> + string(3) "€" + } +} -- 2.40.0