From: Markus Armbruster Date: Mon, 16 Jul 2018 09:10:12 +0000 (+0200) Subject: monitor: Fix tracepoint crash on JSON syntax error X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8720e63e09fa1e48dbd244d89d6fed6b5c50889d;p=qemu.git monitor: Fix tracepoint crash on JSON syntax error When tracepoint handle_qmp_command is enabled, we crash on JSON syntax errors. Broken in commit 1cc37471525. Fix by skipping the tracepoint on JSON syntax error. Before the flawed commit, we skipped it by returning early. Fixes: CID 1394216 Signed-off-by: Markus Armbruster Message-Id: <20180716091012.29510-1-armbru@redhat.com> Reviewed-by: Marc-André Lureau Reviewed-by: Peter Xu --- diff --git a/monitor.c b/monitor.c index 7af1f18d13..be29634a00 100644 --- a/monitor.c +++ b/monitor.c @@ -4224,7 +4224,7 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens) qdict_del(qdict, "id"); } /* else will fail qmp_dispatch() */ - if (trace_event_get_state_backends(TRACE_HANDLE_QMP_COMMAND)) { + if (req && trace_event_get_state_backends(TRACE_HANDLE_QMP_COMMAND)) { QString *req_json = qobject_to_json(req); trace_handle_qmp_command(mon, qstring_get_str(req_json)); qobject_unref(req_json);