summary refs log tree commit diff stats
path: root/monitor.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2017-02-17 21:38:18 +0100
committerMarkus Armbruster <armbru@redhat.com>2017-02-22 19:52:01 +0100
commitca6b6e1e68ac44b2e8895da10dd1c80dc03d08b7 (patch)
tree3e820280a3eb45a68186eaec2f46fba2b1fe63b8 /monitor.c
parent4b32e11a59e34c5cf570c1fd102a78d9351e71f5 (diff)
downloadfocaccia-qemu-ca6b6e1e68ac44b2e8895da10dd1c80dc03d08b7.tar.gz
focaccia-qemu-ca6b6e1e68ac44b2e8895da10dd1c80dc03d08b7.zip
Don't check qobject_type() before qobject_to_qdict()
qobject_to_qdict(obj) returns NULL when obj isn't a QDict.  Check
that instead of qobject_type(obj) == QTYPE_QDICT.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1487363905-9480-8-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/monitor.c b/monitor.c
index 3cd72a9bab..493bed977c 100644
--- a/monitor.c
+++ b/monitor.c
@@ -3686,12 +3686,12 @@ static QDict *qmp_check_input_obj(QObject *input_obj, Error **errp)
     int has_exec_key = 0;
     QDict *input_dict;
 
-    if (qobject_type(input_obj) != QTYPE_QDICT) {
+    input_dict = qobject_to_qdict(input_obj);
+    if (!input_dict) {
         error_setg(errp, QERR_QMP_BAD_INPUT_OBJECT, "object");
         return NULL;
     }
 
-    input_dict = qobject_to_qdict(input_obj);
 
     for (ent = qdict_first(input_dict); ent; ent = qdict_next(input_dict, ent)){
         const char *arg_name = qdict_entry_key(ent);