From: Markus Armbruster Date: Thu, 23 Aug 2018 16:40:03 +0000 (+0200) Subject: json: Don't create JSON_ERROR tokens that won't be used X-Git-Tag: v3.1.0-rc0~112^2~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=269e57ae28599b07368134a64452674009491593;p=thirdparty%2Fqemu.git json: Don't create JSON_ERROR tokens that won't be used Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-Id: <20180823164025.12553-37-armbru@redhat.com> --- diff --git a/qobject/json-streamer.c b/qobject/json-streamer.c index 0c33186e8e2..fa595a87615 100644 --- a/qobject/json-streamer.c +++ b/qobject/json-streamer.c @@ -56,6 +56,8 @@ void json_message_process_token(JSONLexer *lexer, GString *input, case JSON_RSQUARE: parser->bracket_count--; break; + case JSON_ERROR: + goto out_emit; default: break; } @@ -71,10 +73,6 @@ void json_message_process_token(JSONLexer *lexer, GString *input, g_queue_push_tail(parser->tokens, token); - if (type == JSON_ERROR) { - goto out_emit; - } - if (parser->brace_count < 0 || parser->bracket_count < 0 || (parser->brace_count == 0 &&