]> granicus.if.org Git - onig/commitdiff
fix out of bounds read in mbc_to_code() #16
authorK.Kosako <kkosako0@gmail.com>
Sun, 21 Aug 2016 08:42:18 +0000 (17:42 +0900)
committerK.Kosako <kkosako0@gmail.com>
Sun, 21 Aug 2016 08:42:18 +0000 (17:42 +0900)
src/utf8.c

index b78e7ebf8f53b2e1e04a7c3d351a03d00699bc28..f82bcc257c1efb8063339fd3147d87cc71c528f7 100644 (file)
@@ -98,7 +98,7 @@ mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED)
 
   len = enclen(ONIG_ENCODING_UTF8, p);
   c = *p++;
-  if (len > 1) {
+  if (len > 1 && p < end) {
     len--;
     n = c & ((1 << (6 - len)) - 1);
     while (len--) {