@@ 1301-1307 (lines=7) @@ | ||
1298 | $encodingRegex = '!encoding[ \t\n\r]*=[ \t\n\r]*[\'"](.*?)[\'"]!si'; |
|
1299 | ||
1300 | if ( preg_match( "!<\?xml\b(.*?)\?>!si", $contents, $matches ) ) { |
|
1301 | if ( preg_match( $encodingRegex, $matches[1], $encMatch ) |
|
1302 | && !in_array( strtoupper( $encMatch[1] ), self::$safeXmlEncodings ) |
|
1303 | ) { |
|
1304 | wfDebug( __METHOD__ . ": Found unsafe XML encoding '{$encMatch[1]}'\n" ); |
|
1305 | ||
1306 | return true; |
|
1307 | } |
|
1308 | } elseif ( preg_match( "!<\?xml\b!si", $contents ) ) { |
|
1309 | // Start of XML declaration without an end in the first $wgSVGMetadataCutoff |
|
1310 | // bytes. There shouldn't be a legitimate reason for this to happen. |
|
@@ 1329-1335 (lines=7) @@ | ||
1326 | $str = iconv( $encoding, 'UTF-8', $contents ); |
|
1327 | MediaWiki\restoreWarnings(); |
|
1328 | if ( $str != '' && preg_match( "!<\?xml\b(.*?)\?>!si", $str, $matches ) ) { |
|
1329 | if ( preg_match( $encodingRegex, $matches[1], $encMatch ) |
|
1330 | && !in_array( strtoupper( $encMatch[1] ), self::$safeXmlEncodings ) |
|
1331 | ) { |
|
1332 | wfDebug( __METHOD__ . ": Found unsafe XML encoding '{$encMatch[1]}'\n" ); |
|
1333 | ||
1334 | return true; |
|
1335 | } |
|
1336 | } elseif ( $str != '' && preg_match( "!<\?xml\b!si", $str ) ) { |
|
1337 | // Start of XML declaration without an end in the first $wgSVGMetadataCutoff |
|
1338 | // bytes. There shouldn't be a legitimate reason for this to happen. |