From be96f4d7fb0cabced5bc6a9368977ddfe02d1f71 Mon Sep 17 00:00:00 2001 From: ylavic Date: Sun, 2 Dec 2018 23:26:58 +0100 Subject: [PATCH] GenericRegex: don't throw/abort on syntax error (unclosed parenthesis). --- include/rapidjson/internal/regex.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/rapidjson/internal/regex.h b/include/rapidjson/internal/regex.h index 377f86c..16e3559 100644 --- a/include/rapidjson/internal/regex.h +++ b/include/rapidjson/internal/regex.h @@ -395,8 +395,7 @@ private: } return false; - default: - RAPIDJSON_ASSERT(op == kOneOrMore); + case kOneOrMore: if (operandStack.GetSize() >= sizeof(Frag)) { Frag e = *operandStack.template Pop(1); SizeType s = NewState(kRegexInvalidState, e.start, 0); @@ -405,6 +404,10 @@ private: return true; } return false; + + default: + // syntax error (e.g. unclosed kLeftParenthesis) + return false; } }