Make WordPress Core

Ticket #6583: report.txt

File report.txt, 1.2 KB (added by schiller, 17 years ago)

Unix diff patch from WP 2.5.0 kses.php

Line 
1899c899
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);
5916c916,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 */
20function 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 */
30function 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) );