diff options
author | Markus Armbruster <armbru@redhat.com> | 2018-07-16 11:10:12 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2018-07-16 15:46:57 +0200 |
commit | 8720e63e09fa1e48dbd244d89d6fed6b5c50889d (patch) | |
tree | 07ccf2bf9fc0162dcab349b5239e6db832eb2db6 | |
parent | b02c9bc35a03c099600693d6909f4566078880b8 (diff) | |
download | qemu-8720e63e09fa1e48dbd244d89d6fed6b5c50889d.zip |
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 <armbru@redhat.com>
Message-Id: <20180716091012.29510-1-armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
-rw-r--r-- | monitor.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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); |