]> granicus.if.org Git - onig/commitdiff
fix return invalid result in is_simple_one_char_repeat()
authorK.Kosako <kosako@sofnec.co.jp>
Thu, 3 Aug 2017 01:19:46 +0000 (10:19 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Thu, 3 Aug 2017 01:19:46 +0000 (10:19 +0900)
src/regparse.c

index c1b714598545e5d67b5b93829b77a0293fa15b02..157ea1cbeba956e19755f9c11b1ef8285cfe520a 100644 (file)
@@ -1780,6 +1780,8 @@ is_simple_one_char_repeat(Node* node, Node** rquant, Node** rbody,
       if (en->type == ENCLOSURE_STOP_BACKTRACK) {
         *is_possessive = 1;
         quant = NODE_ENCLOSURE_BODY(en);
+        if (NODE_TYPE(quant) != NODE_QUANT)
+          return 0;
       }
       else
         return 0;