File tree 2 files changed +39
-1
lines changed
2 files changed +39
-1
lines changed Original file line number Diff line number Diff line change @@ -4235,7 +4235,7 @@ PHP_FUNCTION(imap_mime_header_decode)
4235
4235
}
4236
4236
4237
4237
offset = end_token + 2 ;
4238
- for (i = 0 ; (string [offset + i ] == ' ' ) || (string [offset + i ] == 0x0a ) || (string [offset + i ] == 0x0d ); i ++ );
4238
+ for (i = 0 ; (string [offset + i ] == ' ' ) || (string [offset + i ] == 0x0a ) || (string [offset + i ] == 0x0d ) || ( string [ offset + i ] == '\t' ) ; i ++ );
4239
4239
if ((string [offset + i ] == '=' ) && (string [offset + i + 1 ] == '?' ) && (offset + i < end )) {
4240
4240
offset += i ;
4241
4241
}
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #53377 (imap_mime_header_decode() doesn't ignore \t during long MIME header unfolding)
3
+ --SKIPIF--
4
+ <?php
5
+ if (!extension_loaded ("imap " )) {
6
+ die ("skip imap extension not available " );
7
+ }
8
+ ?>
9
+ --FILE--
10
+ <?php
11
+ $ s = "=?UTF-8?Q?=E2=82=AC?= " ;
12
+ $ header = "$ s \n $ s \n\t$ s " ;
13
+
14
+ var_dump (imap_mime_header_decode ($ header ));
15
+ --EXPECT --
16
+ array (3 ) {
17
+ [0 ]=>
18
+ object(stdClass)#1 (2) {
19
+ ["charset " ]=>
20
+ string(5 ) "UTF-8 "
21
+ ["text " ]=>
22
+ string(3 ) "€ "
23
+ }
24
+ [1 ]=>
25
+ object(stdClass)#2 (2) {
26
+ ["charset " ]=>
27
+ string(5 ) "UTF-8 "
28
+ ["text " ]=>
29
+ string(3 ) "€ "
30
+ }
31
+ [2 ]=>
32
+ object(stdClass)#3 (2) {
33
+ ["charset " ]=>
34
+ string(5 ) "UTF-8 "
35
+ ["text " ]=>
36
+ string(3 ) "€ "
37
+ }
38
+ }
You can’t perform that action at this time.
0 commit comments