From 474ee12435e671607c02f764b173258e3a059eda Mon Sep 17 00:00:00 2001 From: Eric Hawicz Date: Sun, 3 Nov 2024 19:44:21 -0500 Subject: [PATCH] Fix the apps/json_parse "-s" (strict) option so it actually does something, and default to non-strict. --- apps/json_parse.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/apps/json_parse.c b/apps/json_parse.c index 31221d0..4eb629b 100644 --- a/apps/json_parse.c +++ b/apps/json_parse.c @@ -74,11 +74,14 @@ static int parseit(int fd, int (*callback)(struct json_object *)) fprintf(stderr, "unable to allocate json_tokener: %s\n", strerror(errno)); return 1; } - json_tokener_set_flags(tok, JSON_TOKENER_STRICT -#ifdef JSON_TOKENER_ALLOW_TRAILING_CHARS - | JSON_TOKENER_ALLOW_TRAILING_CHARS -#endif - ); + if (strict_mode) + { + json_tokener_set_flags(tok, JSON_TOKENER_STRICT + #ifdef JSON_TOKENER_ALLOW_TRAILING_CHARS + | JSON_TOKENER_ALLOW_TRAILING_CHARS + #endif + ); + } // XXX push this into some kind of json_tokener_parse_fd API? // json_object_from_fd isn't flexible enough, and mirroring