mirror of https://github.com/xqemu/xqemu.git
qmp: Fix device-list-properties not to crash for abstract device
Broken in commit f4eb32b
"qmp: show QOM properties in
device-list-properties", v2.1.
Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Message-Id: <1443689999-12182-9-git-send-email-armbru@redhat.com>
This commit is contained in:
parent
2d1abb850f
commit
edb1523d90
6
qmp.c
6
qmp.c
|
@ -515,6 +515,12 @@ DevicePropertyInfoList *qmp_device_list_properties(const char *typename,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if (object_class_is_abstract(klass)) {
|
||||
error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "name",
|
||||
"non-abstract device type");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
obj = object_new(typename);
|
||||
|
||||
QTAILQ_FOREACH(prop, &obj->properties, node) {
|
||||
|
|
|
@ -45,17 +45,10 @@ static void test_one_device(const char *type)
|
|||
QDict *resp;
|
||||
char *help, *qom_tree;
|
||||
|
||||
/*
|
||||
* Skip this part for the abstract device test case, because
|
||||
* device-list-properties crashes for such devices.
|
||||
* FIXME fix it not to crash
|
||||
*/
|
||||
if (strcmp(type, "device")) {
|
||||
resp = qmp("{'execute': 'device-list-properties',"
|
||||
" 'arguments': {'typename': %s}}",
|
||||
type);
|
||||
QDECREF(resp);
|
||||
}
|
||||
resp = qmp("{'execute': 'device-list-properties',"
|
||||
" 'arguments': {'typename': %s}}",
|
||||
type);
|
||||
QDECREF(resp);
|
||||
|
||||
help = hmp("device_add \"%s,help\"", type);
|
||||
g_free(help);
|
||||
|
|
Loading…
Reference in New Issue