From: Markus Armbruster Date: Fri, 17 Feb 2017 20:38:24 +0000 (+0100) Subject: monitor: Clean up handle_hmp_command() a bit X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=bbf1028a0ade883cebae5faf984f0e78cb794b17;p=qemu.git monitor: Clean up handle_hmp_command() a bit Leave checking qobject_type(req) to qmp_check_input_obj(). Rework handling of json_parser_parse_err() failing without setting an error. Signed-off-by: Markus Armbruster Message-Id: <1487363905-9480-14-git-send-email-armbru@redhat.com> Reviewed-by: Eric Blake --- diff --git a/monitor.c b/monitor.c index 493bed977c..1e352a6d37 100644 --- a/monitor.c +++ b/monitor.c @@ -3735,10 +3735,11 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens) Error *err = NULL; req = json_parser_parse_err(tokens, NULL, &err); - if (err || !req || qobject_type(req) != QTYPE_QDICT) { - if (!err) { - error_setg(&err, QERR_JSON_PARSING); - } + if (!req && !err) { + /* json_parser_parse_err() sucks: can fail without setting @err */ + error_setg(&err, QERR_JSON_PARSING); + } + if (err) { goto err_out; }