All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: marcandre.lureau@redhat.com, mdroth@linux.vnet.ibm.com,
	eblake@redhat.com
Subject: [Qemu-devel] [PATCH v3 36/58] json: Don't create JSON_ERROR tokens that won't be used
Date: Thu, 23 Aug 2018 18:40:03 +0200	[thread overview]
Message-ID: <20180823164025.12553-37-armbru@redhat.com> (raw)
In-Reply-To: <20180823164025.12553-1-armbru@redhat.com>

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
 qobject/json-streamer.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/qobject/json-streamer.c b/qobject/json-streamer.c
index 0c33186e8e..fa595a8761 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 &&
-- 
2.17.1

  parent reply	other threads:[~2018-08-23 16:42 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-23 16:39 [Qemu-devel] [PATCH v3 00/58] json: Fixes, error reporting improvements, cleanups Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 01/58] docs/interop/qmp-spec: How to force known good parser state Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 02/58] check-qjson: Cover multiple JSON objects in same string Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 03/58] check-qjson: Cover blank and lexically erroneous input Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 04/58] check-qjson: Cover whitespace more thoroughly Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 05/58] qmp-cmd-test: Split off qmp-test Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 06/58] qmp-test: Cover syntax and lexical errors Markus Armbruster
2018-08-23 17:05   ` Eric Blake
2018-08-24 19:32     ` Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 07/58] test-qga: Clean up how we test QGA synchronization Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 08/58] check-qjson: Cover escaped characters more thoroughly, part 1 Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 09/58] check-qjson: Streamline escaped_string()'s test strings Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 10/58] check-qjson: Cover escaped characters more thoroughly, part 2 Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 11/58] check-qjson: Consolidate partly redundant string tests Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 12/58] check-qjson: Cover UTF-8 in single quoted strings Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 13/58] check-qjson: Simplify utf8_string() Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 14/58] check-qjson: Fix utf8_string() to test all invalid sequences Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 15/58] check-qjson qmp-test: Cover control characters more thoroughly Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 16/58] check-qjson: Cover interpolation " Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 17/58] json: Fix lexer to include the bad character in JSON_ERROR token Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 18/58] json: Reject unescaped control characters Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 19/58] json: Revamp lexer documentation Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 20/58] json: Tighten and simplify qstring_from_escaped_str()'s loop Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 21/58] check-qjson: Document we expect invalid UTF-8 to be rejected Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 22/58] json: Reject invalid UTF-8 sequences Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 23/58] json: Report first rather than last parse error Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 24/58] json: Leave rejecting invalid UTF-8 to parser Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 25/58] json: Accept overlong \xC0\x80 as U+0000 ("modified UTF-8") Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 26/58] json: Leave rejecting invalid escape sequences to parser Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 27/58] json: Simplify parse_string() Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 28/58] json: Reject invalid \uXXXX, fix \u0000 Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 29/58] json: Fix \uXXXX for surrogate pairs Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 30/58] check-qjson: Fix and enable utf8_string()'s disabled part Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 31/58] json: remove useless return value from lexer/parser Markus Armbruster
2018-08-23 16:39 ` [Qemu-devel] [PATCH v3 32/58] json-parser: simplify and avoid JSONParserContext allocation Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 33/58] json: Have lexer call streamer directly Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 34/58] json: Redesign the callback to consume JSON values Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 35/58] json: Don't pass null @tokens to json_parser_parse() Markus Armbruster
2018-08-23 16:40 ` Markus Armbruster [this message]
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 37/58] json: Rename token JSON_ESCAPE & friends to JSON_INTERP Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 38/58] json: Treat unwanted interpolation as lexical error Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 39/58] json: Pass lexical errors and limit violations to callback Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 40/58] json: Leave rejecting invalid interpolation to parser Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 41/58] json: Replace %I64d, %I64u by %PRId64, %PRIu64 Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 42/58] json: Improve names of lexer states related to numbers Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 43/58] qjson: Fix qobject_from_json() & friends for multiple values Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 44/58] json: Fix latent parser aborts at end of input Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 45/58] json: Fix streamer not to ignore trailing unterminated structures Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 46/58] json: Assert json_parser_parse() consumes all tokens on success Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 47/58] qjson: Have qobject_from_json() & friends reject empty and blank Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 48/58] json: Enforce token count and size limits more tightly Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 49/58] json: Streamline json_message_process_token() Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 50/58] json: Unbox tokens queue in JSONMessageParser Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 51/58] json: Make JSONToken opaque outside json-parser.c Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 52/58] qobject: Drop superfluous includes of qemu-common.h Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 53/58] json: Clean up headers Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 54/58] tests/drive_del-test: Fix harmless JSON interpolation bug Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 55/58] json: Keep interpolation state in JSONParserContext Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 56/58] json: Improve safety of qobject_from_jsonf_nofail() & friends Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 57/58] json: Support %% in JSON strings when interpolating Markus Armbruster
2018-08-23 16:40 ` [Qemu-devel] [PATCH v3 58/58] json: Update references to RFC 7159 to RFC 8259 Markus Armbruster
2018-08-23 17:39   ` Eric Blake

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180823164025.12553-37-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.