From bbf1028a0ade883cebae5faf984f0e78cb794b17 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 17 Feb 2017 21:38:24 +0100 Subject: [PATCH] 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 --- monitor.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/monitor.c b/monitor.c index 493bed977ceb..1e352a6d37a6 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; }