summaryrefslogtreecommitdiff
path: root/src/json.c
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2024-03-31 19:19:58 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2024-04-01 10:41:46 +0200
commit3f4486dd76c44c76c58605fb9a1643515133ff3f (patch)
treee1b4b72ca56d25cbb0222c1afa73d716bee0ac38 /src/json.c
parent734bd005aa0fa955cf1a46d3a60a4d6ef5e7e3d1 (diff)
downloademacs-3f4486dd76c44c76c58605fb9a1643515133ff3f.tar.gz
emacs-3f4486dd76c44c76c58605fb9a1643515133ff3f.tar.bz2
emacs-3f4486dd76c44c76c58605fb9a1643515133ff3f.zip
Don't signal `json-end-of-file` for short nonempty bad JSON inputs
* src/json.c (json_parse_value): Generate a plain parse error. * test/src/json-tests.el (json-parse-string/short): Adapt test.
Diffstat (limited to 'src/json.c')
-rw-r--r--src/json.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/json.c b/src/json.c
index 8749009a24b..ca9be26cd9f 100644
--- a/src/json.c
+++ b/src/json.c
@@ -1655,9 +1655,9 @@ json_parse_value (struct json_parser *parser, int c)
return json_parse_number (parser, c);
else
{
- int c2 = json_input_get (parser);
- int c3 = json_input_get (parser);
- int c4 = json_input_get (parser);
+ int c2 = json_input_get_if_possible (parser);
+ int c3 = json_input_get_if_possible (parser);
+ int c4 = json_input_get_if_possible (parser);
int c5 = json_input_get_if_possible (parser);
if (c == 't' && c2 == 'r' && c3 == 'u' && c4 == 'e'