From ddbf55698b5f7ffdfa737b0b8e0079af1fdd7cb1 Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Thu, 15 Jun 2017 15:48:46 +0900 Subject: [PATCH] re-fix #60 by check val_type --- src/regparse.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/regparse.c b/src/regparse.c index a4e3d4a..4f4802d 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -4061,9 +4061,7 @@ next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE* type, } } - if (*state != CCS_START) - *state = CCS_VALUE; - + *state = CCS_VALUE; *type = CCV_CLASS; return 0; } @@ -4348,6 +4346,12 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, CC_ESC_WARN(env, (UChar* )"-"); goto range_end_val; } + + if (val_type == CCV_CLASS) { + r = ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS; + goto err; + } + state = CCS_RANGE; } else if (state == CCS_START) { -- 2.40.0