summaryrefslogtreecommitdiff
path: root/ext/json/parser/parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/json/parser/parser.c')
-rw-r--r--ext/json/parser/parser.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c
index 351b7f6fac..9cbe2c1d7e 100644
--- a/ext/json/parser/parser.c
+++ b/ext/json/parser/parser.c
@@ -990,6 +990,8 @@ static VALUE json_parse_any(JSON_ParserState *state, JSON_ParserConfig *config)
raise_parse_error("invalid number: %s", start);
} else if (RB_UNLIKELY(integer_length > 2 && start[0] == '-' && start[1] == '0')) {
raise_parse_error("invalid number: %s", start);
+ } else if (RB_UNLIKELY(integer_length == 1 && start[0] == '-')) {
+ raise_parse_error("invalid number: %s", start);
}
if ((state->cursor < state->end) && (*state->cursor == '.')) {