svn: /php/php-src/branches/PHP_5_3/ NEWS ext/imap/php_imap.c ext/imap/tests/bug53377.phpt
| From: | Adam Harvey | Date: | Mon, 13 Dec 2010 08:38:01 +0000 |
| Subject: | svn: /php/php-src/branches/PHP_5_3/ NEWS ext/imap/php_imap.c ext/imap/tests/bug53377.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-64117@lists.php.net to get a copy of this message | ||
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) "€"
+ }
+}