qemu-e2k/include/qapi
Markus Armbruster f9277915ee json: Fix streamer not to ignore trailing unterminated structures
json_message_process_token() accumulates tokens until it got the
sequence of tokens that comprise a single JSON value (it counts curly
braces and square brackets to decide).  It feeds those token sequences
to json_parser_parse().  If a non-empty sequence of tokens remains at
the end of the parse, it's silently ignored.  check-qjson.c cases
unterminated_array(), unterminated_array_comma(), unterminated_dict(),
unterminated_dict_comma() demonstrate this bug.

Fix as follows.  Introduce a JSON_END_OF_INPUT token.  When the
streamer receives it, it feeds the accumulated tokens to
json_parser_parse().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20180823164025.12553-46-armbru@redhat.com>
2018-08-24 20:26:37 +02:00
..
qmp json: Fix streamer not to ignore trailing unterminated structures 2018-08-24 20:26:37 +02:00
clone-visitor.h Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
dealloc-visitor.h
error.h Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
opts-visitor.h Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
qmp-event.h Include qapi/qmp/qdict.h exactly where needed 2018-02-09 13:52:15 +01:00
qobject-input-visitor.h Include qapi/qmp/qobject.h exactly where needed 2018-02-09 13:52:15 +01:00
qobject-output-visitor.h Include qapi/qmp/qobject.h exactly where needed 2018-02-09 13:52:15 +01:00
string-input-visitor.h
string-output-visitor.h
util.h qapi: Change data type of the FOO_lookup generated for enum FOO 2017-09-04 13:09:13 +02:00
visitor-impl.h
visitor.h qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-02 13:45:57 -06:00