diff options
Diffstat (limited to 'ext/json/parser/parser.c')
-rw-r--r-- | ext/json/parser/parser.c | 2 |
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 == '.')) { |