mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fix bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME
header unfolding).
This commit is contained in:
parent
d72ac0771d
commit
f93b470fd4
2 changed files with 39 additions and 1 deletions
|
@ -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;
|
||||
}
|
||||
|
|
38
ext/imap/tests/bug53377.phpt
Normal file
38
ext/imap/tests/bug53377.phpt
Normal file
|
@ -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) "€"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue