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

index 132332882cb9b82dd383afadc1ef94bf722ea354..9514e50610c0a94011232f60ce6ce06daf305383 100644 (file)
@@ -4465,6 +4465,7 @@ parse_enclose(Node** np, OnigToken* tok, int term, UChar** src, UChar* end,
 #endif
 
     case '<':   /* look behind (?<=...), (?<!...) */
+      if (PEND) return ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS;
       PFETCH(c);
       if (c == '=')
         *np = onig_node_new_anchor(ANCHOR_LOOK_BEHIND);