@@ -110,24 +110,30 @@ if (strlen($testString) != 4)
110
110
$ testString = substr ($ testString , 2 , 2 ) . substr ($ testString , 0 , 2 );
111
111
identifyInvalidString ("& " . mBase64 ($ testString ) . "- " , 'UTF7-IMAP ' );
112
112
/* (Or could appear by itself) */
113
- $ testString = substr ($ testString , 0 , 2 );
114
- identifyInvalidString ("& " . mBase64 ($ testString ) . "- " , 'UTF7-IMAP ' );
113
+ $ testString2 = substr ($ testString , 0 , 2 );
114
+ identifyInvalidString ("& " . mBase64 ($ testString2 ) . "- " , 'UTF7-IMAP ' );
115
115
116
116
/* ...and we should detect this wherever it occurs */
117
- $ singleChar = mb_convert_encoding ( " 1 " , ' UTF-16BE ' , ' ASCII ' ) ;
117
+ $ singleChar = "\x00\x01" ;
118
118
$ doubleChar = mb_convert_encoding ("\x00\x01\x04\x01" , 'UTF-16BE ' , 'UTF-32BE ' );
119
119
if (strlen ($ doubleChar ) != 4 )
120
120
die ("That was supposed to be a surrogate pair " );
121
121
identifyInvalidString ("& " . mBase64 ($ singleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
122
122
identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
123
123
identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ singleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
124
+ identifyInvalidString ("& " . mBase64 ($ singleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
125
+ identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
126
+ identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ singleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
124
127
identifyInvalidString ("& " . mBase64 ($ doubleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
125
128
identifyInvalidString ("& " . mBase64 ($ singleChar . $ doubleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
126
129
identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ doubleChar . $ testString ) . "- " , 'UTF7-IMAP ' );
130
+ identifyInvalidString ("& " . mBase64 ($ doubleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
131
+ identifyInvalidString ("& " . mBase64 ($ singleChar . $ doubleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
132
+ identifyInvalidString ("& " . mBase64 ($ singleChar . $ singleChar . $ doubleChar . $ testString2 ) . "- " , 'UTF7-IMAP ' );
127
133
128
134
/* 2. The first half of a surrogate pair might be followed by an invalid 2nd part, */
129
135
$ testString = mb_convert_encoding ("\x00\x01\x04\x00" , 'UTF-16BE ' , 'UTF-32BE ' );
130
- $ testString = substr ($ testString , 0 , 2 ) . mb_convert_encoding ( " a " , ' UTF-16BE ' , ' ASCII ' ) ;
136
+ $ testString = substr ($ testString , 0 , 2 ) . "\x00 a " ;
131
137
identifyInvalidString ("& " . mBase64 ($ testString ) . "- " , 'UTF7-IMAP ' );
132
138
133
139
/* ...and we should also detect that wherever it occurs... */
0 commit comments