[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 11/26] qapi: Make QObject input visitor set *list rel
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 11/26] qapi: Make QObject input visitor set *list reliably |
Date: |
Tue, 28 Feb 2017 20:06:21 +0100 |
qobject_input_start_struct() sets *list, except when it fails because
qobject_input_get_object() fails, i.e. the input object doesn't exist.
All the other input visitor start_struct(), start_list(),
start_alternate() always set *obj / *list.
Change qobject_input_start_struct() to match.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
---
qapi/qobject-input-visitor.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c
index 2c2f883..d58696c 100644
--- a/qapi/qobject-input-visitor.c
+++ b/qapi/qobject-input-visitor.c
@@ -196,25 +196,21 @@ static void qobject_input_start_list(Visitor *v, const
char *name,
QObject *qobj = qobject_input_get_object(qiv, name, true, errp);
const QListEntry *entry;
+ if (list) {
+ *list = NULL;
+ }
if (!qobj) {
return;
}
if (qobject_type(qobj) != QTYPE_QLIST) {
- if (list) {
- *list = NULL;
- }
error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name ? name : "null",
"list");
return;
}
entry = qobject_input_push(qiv, qobj, list);
- if (list) {
- if (entry) {
- *list = g_malloc0(size);
- } else {
- *list = NULL;
- }
+ if (entry && list) {
+ *list = g_malloc0(size);
}
}
--
2.7.4
- [Qemu-devel] [PULL 00/26] QAPI patches for 2017-02-28, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 03/26] qmp-test: New, covering basic QMP protocol, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 04/26] qmp: Dumb down how we run QMP command registration, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 11/26] qapi: Make QObject input visitor set *list reliably,
Markus Armbruster <=
- [Qemu-devel] [PULL 06/26] qmp: Drop duplicated QMP command object checks, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 01/26] qga: Fix crash on non-dictionary QMP argument, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 07/26] qmp: Eliminate silly QERR_QMP_* macros, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 09/26] qapi: Improve a QObject input visitor error message, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 05/26] qmp: Clean up how we enforce capability negotiation, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 13/26] qapi: Drop string input visitor method optional(), Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 25/26] qapi: Fix object input visit beyond end of list, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 22/26] test-qobject-input-visitor: Cover missing nested struct member, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 19/26] test-string-input-visitor: Tear down existing test automatically, Markus Armbruster, 2017/02/28
- [Qemu-devel] [PULL 15/26] qom: Make object_property_set_qobject()'s input visitor strict, Markus Armbruster, 2017/02/28