mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Fix incorrect check in cs_8559_5 in map_from_unicode()
The condition `code == 0x0450 || code == 0x045D` is always false because of an incorrect range check on code. According to the BMP coverage in the encoding spec for ISO-8859-5 (https://encoding.spec.whatwg.org/iso-8859-5-bmp.html) the range of valid characters is 0x0401 - 0x045F (except for 0x040D, 0x0450, 0x045D). The current check has an upper bound of 0x044F instead of 0x045F. Fix this by changing the upper bound. Closes GH-10399 Signed-off-by: George Peter Banyard <girgias@php.net>
This commit is contained in:
parent
b7a158a19b
commit
a8c8fb2564
1
NEWS
1
NEWS
@ -15,6 +15,7 @@ PHP NEWS
|
||||
- Standard:
|
||||
. Fixed bug GH-10292 (Made the default value of the first param of srand() and
|
||||
mt_srand() unknown). (kocsismate)
|
||||
. Fix incorrect check in cs_8559_5 in map_from_unicode(). (nielsdos)
|
||||
|
||||
02 Feb 2023, PHP 8.1.15
|
||||
|
||||
|
@ -477,7 +477,7 @@ static inline int map_from_unicode(unsigned code, enum entity_charset charset, u
|
||||
*res = 0xF0; /* numero sign */
|
||||
} else if (code == 0xA7) {
|
||||
*res = 0xFD; /* section sign */
|
||||
} else if (code >= 0x0401 && code <= 0x044F) {
|
||||
} else if (code >= 0x0401 && code <= 0x045F) {
|
||||
if (code == 0x040D || code == 0x0450 || code == 0x045D)
|
||||
return FAILURE;
|
||||
*res = code - 0x360;
|
||||
|
@ -358,47 +358,47 @@ CYRILLIC SMALL LETTER YA: я => ef
|
||||
NUMERO SIGN: № => f0
|
||||
ð => ð
|
||||
|
||||
CYRILLIC SMALL LETTER IO: ё => 2623783435313b
|
||||
CYRILLIC SMALL LETTER IO: ё => f1
|
||||
ñ => ñ
|
||||
|
||||
CYRILLIC SMALL LETTER DJE: ђ => 2623783435323b
|
||||
CYRILLIC SMALL LETTER DJE: ђ => f2
|
||||
ò => ò
|
||||
|
||||
CYRILLIC SMALL LETTER GJE: ѓ => 2623783435333b
|
||||
CYRILLIC SMALL LETTER GJE: ѓ => f3
|
||||
ó => ó
|
||||
|
||||
CYRILLIC SMALL LETTER UKRAINIAN IE: є => 2623783435343b
|
||||
CYRILLIC SMALL LETTER UKRAINIAN IE: є => f4
|
||||
ô => ô
|
||||
|
||||
CYRILLIC SMALL LETTER DZE: ѕ => 2623783435353b
|
||||
CYRILLIC SMALL LETTER DZE: ѕ => f5
|
||||
õ => õ
|
||||
|
||||
CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I: і => 2623783435363b
|
||||
CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I: і => f6
|
||||
ö => ö
|
||||
|
||||
CYRILLIC SMALL LETTER YI: ї => 2623783435373b
|
||||
CYRILLIC SMALL LETTER YI: ї => f7
|
||||
÷ => ÷
|
||||
|
||||
CYRILLIC SMALL LETTER JE: ј => 2623783435383b
|
||||
CYRILLIC SMALL LETTER JE: ј => f8
|
||||
ø => ø
|
||||
|
||||
CYRILLIC SMALL LETTER LJE: љ => 2623783435393b
|
||||
CYRILLIC SMALL LETTER LJE: љ => f9
|
||||
ù => ù
|
||||
|
||||
CYRILLIC SMALL LETTER NJE: њ => 2623783435413b
|
||||
CYRILLIC SMALL LETTER NJE: њ => fa
|
||||
ú => ú
|
||||
|
||||
CYRILLIC SMALL LETTER TSHE: ћ => 2623783435423b
|
||||
CYRILLIC SMALL LETTER TSHE: ћ => fb
|
||||
û => û
|
||||
|
||||
CYRILLIC SMALL LETTER KJE: ќ => 2623783435433b
|
||||
CYRILLIC SMALL LETTER KJE: ќ => fc
|
||||
ü => ü
|
||||
|
||||
SECTION SIGN: § => fd
|
||||
ý => ý
|
||||
|
||||
CYRILLIC SMALL LETTER SHORT U: ў => 2623783435453b
|
||||
CYRILLIC SMALL LETTER SHORT U: ў => fe
|
||||
þ => þ
|
||||
|
||||
CYRILLIC SMALL LETTER DZHE: џ => 2623783435463b
|
||||
CYRILLIC SMALL LETTER DZHE: џ => ff
|
||||
ÿ => ÿ
|
||||
|
Loading…
Reference in New Issue
Block a user