diff --git a/src/Onigmo/regparse.c b/src/Onigmo/regparse.c index 469e8bc..7e209f5 100644 --- a/src/Onigmo/regparse.c +++ b/src/Onigmo/regparse.c @@ -4324,8 +4324,11 @@ next_state_val(CClassNode* cc, OnigCodePoint *vs, OnigCodePoint v, switch (*state) { case CCS_VALUE: - if (*type == CCV_SB) + if (*type == CCV_SB) { + if (*vs > 0xff) + return ONIGERR_INVALID_CODE_POINT_VALUE; BITSET_SET_BIT(cc->bs, (int )(*vs)); + } else if (*type == CCV_CODE_POINT) { r = add_code_range(&(cc->mbuf), env, *vs, *vs); if (r < 0) return r;