]> granicus.if.org Git - onig/commitdiff
fix out of bounds read by /\k'-/
authorK.Kosako <kkosako0@gmail.com>
Fri, 26 Aug 2016 15:35:42 +0000 (00:35 +0900)
committerK.Kosako <kkosako0@gmail.com>
Fri, 26 Aug 2016 15:35:42 +0000 (00:35 +0900)
src/regparse.c

index 5716d999e31071b9be5b1e4931358fd9913bb311..1b1427ebf845450d94e76b923c258430f6823b93 100644 (file)
@@ -2473,6 +2473,10 @@ fetch_name_with_level(OnigCodePoint start_code, UChar** src, UChar* end,
       int level;
       int flag = (c == '-' ? -1 : 1);
 
+      if (PEND) {
+       r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME;
+       goto end;
+      }
       PFETCH(c);
       if (! ONIGENC_IS_CODE_DIGIT(enc, c)) goto err;
       PUNFETCH;