aharvey Mon, 13 Dec 2010 08:38:01 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=306336
Log: MFH: fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding). Bug: http://bugs.php.net/53377 (Suspended) imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/imap/php_imap.c A php/php-src/branches/PHP_5_3/ext/imap/tests/bug53377.phpt Modified: php/php-src/branches/PHP_5_3/NEWS =================================================================== --- php/php-src/branches/PHP_5_3/NEWS 2010-12-13 08:29:44 UTC (rev 306335) +++ php/php-src/branches/PHP_5_3/NEWS 2010-12-13 08:38:01 UTC (rev 306336) @@ -16,6 +16,10 @@ (Ilia) . Fixed bug #47435 (FILTER_FLAG_NO_RES_RANGE don't work with ipv6). (Ilia, valli at icsurselva dot ch) + +- IMAP extension: + . Fixed bug #53377 (imap_mime_header_decode() doesn't ignore \t during long + MIME header unfolding). (Adam) - Intl extension: . Fixed bug #53512 (NumberFormatter::setSymbol crash on bogus $attr values). Modified: php/php-src/branches/PHP_5_3/ext/imap/php_imap.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/imap/php_imap.c 2010-12-13 08:29:44 UTC (rev 306335) +++ php/php-src/branches/PHP_5_3/ext/imap/php_imap.c 2010-12-13 08:38:01 UTC (rev 306336) @@ -4243,7 +4243,7 @@ } 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; } Added: php/php-src/branches/PHP_5_3/ext/imap/tests/bug53377.phpt =================================================================== --- php/php-src/branches/PHP_5_3/ext/imap/tests/bug53377.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/imap/tests/bug53377.phpt 2010-12-13 08:38:01 UTC (rev 306336) @@ -0,0 +1,38 @@ +--TEST-- +Bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding) +--SKIPIF-- +<?php + if (!extension_loaded("imap")) { + die("skip imap extension not available"); + } +?> +--FILE-- +<?php +$s = "=?UTF-8?Q?=E2=82=AC?="; +$header = "$s\n $s\n\t$s"; + +var_dump(imap_mime_header_decode($header)); +--EXPECT-- +array(3) { + [0]=> + 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) "€" + } +}
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php