diff options
| author | Stanislav Malyshev <stas@php.net> | 2016-09-04 19:13:22 -0700 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2016-09-04 19:13:48 -0700 |
| commit | d1fbc98ff644ead86262497af2febc8ccb6bf401 (patch) | |
| tree | acf2b68a50b619b11a2cbef6d076578ac4a85617 | |
| parent | b7259b71b430ed733441261f7cf1282f04bb80f1 (diff) | |
| download | php-git-d1fbc98ff644ead86262497af2febc8ccb6bf401.tar.gz | |
Sync fix for bug #72910 with current upstream
| -rw-r--r-- | ext/mbstring/oniguruma/enc/utf8.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ext/mbstring/oniguruma/enc/utf8.c b/ext/mbstring/oniguruma/enc/utf8.c index 74122e14bf..9e8478ffc6 100644 --- a/ext/mbstring/oniguruma/enc/utf8.c +++ b/ext/mbstring/oniguruma/enc/utf8.c @@ -91,14 +91,16 @@ is_mbc_newline(const UChar* p, const UChar* end) } static OnigCodePoint -mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED) +mbc_to_code(const UChar* p, const UChar* end) { int c, len; OnigCodePoint n; - len = enclen(ONIG_ENCODING_UTF8, p); + len = mbc_enc_len(p); + if (len > end - p) len = end - p; + c = *p++; - if (len > 1 && p < end) { + if (len > 1) { len--; n = c & ((1 << (6 - len)) - 1); while (len--) { |
