Ticket #6583: report.txt

File report.txt, 1.2 kB (added by schiller, 8 months ago)

Unix diff patch from WP 2.5.0 kses.php

Line 
1 899c899
2         $string = preg_replace('/&#([Xx])0*(([0-9A-Fa-f]{2}){1,2});/', '&#\\1\\2;', $string);
3 ---
4         $string = preg_replace_callback('/&#([Xx])0*(([0-9A-Fa-f]{2}){1,2});/', create_function('$matches', 'return wp_kses_normalize_entities3($matches[2]);'), $string);
5 916c916,942
6         return (($i > 65535) ? "&#$i;" : "&#$i;");
7 ---
8         return ( (!valid_unicode($i)) || ($i > 65535) ? "&#$i;" : "&#$i;");
9 }
10
11 /**
12  * wp_kses_normalize_entities3() - Callback for wp_kses_normalize_entities() for regular expression
13  *
14  * This function helps wp_kses_normalize_entities() to only accept valid Unicode numeric entities
15  * in hex form.
16  *
17  * @param string $h Hex string of encoded entity
18  * @return string Correctly encoded entity
19  */
20 function wp_kses_normalize_entities3($hexchars) {
21         return ( (!valid_unicode(hexdec($hexchars))) ? "&#x$hexchars;" : "&#x$hexchars;");
22 }
23
24 /**
25  * valid_unicode() - Helper function to determine if a Unicode value is valid.
26  *
27  * @param int $i Unicode value
28  * @return bool true if the value was a valid Unicode number
29  */
30 function valid_unicode($i) {
31         return ( $i == 0x9 || $i == 0xa || $i == 0xd ||
32                         ($i >= 0x20 && $i <= 0xd7ff) ||
33                         ($i >= 0xe000 && $i <= 0xfffd) ||
34                         ($i >= 0x10000 && $i <= 0x10ffff) );