diff options
author | Markus Armbruster <armbru@redhat.com> | 2017-03-03 13:32:45 +0100 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2017-03-05 09:14:20 +0100 |
commit | a4a1c70dc759e5b81627e96564f344ab43ea86eb (patch) | |
tree | 56d44358c6e76c57a01aed7ee789b68965dcc2ff /hw/ppc/spapr_drc.c | |
parent | 86ca0dbe04d8eeebf460b56111c9af125e14528f (diff) | |
download | qemu-a4a1c70dc759e5b81627e96564f344ab43ea86eb.zip qemu-a4a1c70dc759e5b81627e96564f344ab43ea86eb.tar.gz qemu-a4a1c70dc759e5b81627e96564f344ab43ea86eb.tar.bz2 |
qapi: Make input visitors detect unvisited list tails
Fix the design flaw demonstrated in the previous commit: new method
check_list() lets input visitors report that unvisited input remains
for a list, exactly like check_struct() lets them report that
unvisited input remains for a struct or union.
Implement the method for the qobject input visitor (straightforward),
and the string input visitor (less so, due to the magic list syntax
there). The opts visitor's list magic is even more impenetrable, and
all I can do there today is a stub with a FIXME comment. No worse
than before.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1488544368-30622-26-git-send-email-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'hw/ppc/spapr_drc.c')
-rw-r--r-- | hw/ppc/spapr_drc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 2de6377..150f6bf 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -326,7 +326,12 @@ static void prop_get_fdt(Object *obj, Visitor *v, const char *name, return; } } + visit_check_list(v, &err); visit_end_list(v, NULL); + if (err) { + error_propagate(errp, err); + return; + } break; } default: |