Fix a bug where, for 6-byte sequences, the top 6 bits get compared to
111111 rather than the top 7 bits being compared against 1111110 causing illegal bytes fe and ff being treated the same as legal bytes fc and fd.
This commit is contained in:
parent
a260bd4131
commit
639dab2286
@ -140,7 +140,7 @@ _UTF8_mbrtowc(wchar_t * __restrict pwc, const char * __restrict s, size_t n,
|
||||
mask = 0x03;
|
||||
want = 5;
|
||||
lbound = 0x200000;
|
||||
} else if ((ch & 0xfc) == 0xfc) {
|
||||
} else if ((ch & 0xfe) == 0xfc) {
|
||||
mask = 0x01;
|
||||
want = 6;
|
||||
lbound = 0x4000000;
|
||||
|
Loading…
x
Reference in New Issue
Block a user