summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMarkus Armbruster2015-06-10 13:07:43 +0200
committerMarkus Armbruster2015-06-18 14:19:47 +0200
commitf9a1427361fe06ac67480d580412dc4ed6f5d03b (patch)
tree21bac4486172c5da9ab9a853d014c8e88c2ed58e /scripts
parenttests/qapi-schema: New flat union array branch test case (diff)
downloadqemu-f9a1427361fe06ac67480d580412dc4ed6f5d03b.tar.gz
qemu-f9a1427361fe06ac67480d580412dc4ed6f5d03b.tar.xz
qemu-f9a1427361fe06ac67480d580412dc4ed6f5d03b.zip
qapi: Catch and reject flat union branch of array type
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/qapi.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/qapi.py b/scripts/qapi.py
index 8f2326716c..06d7fc2848 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -580,7 +580,7 @@ def check_union(expr, expr_info):
# Each value must name a known type; furthermore, in flat unions,
# branches must be a struct with no overlapping member names
check_type(expr_info, "Member '%s' of union '%s'" % (key, name),
- value, allow_array=True, allow_metas=allow_metas)
+ value, allow_array=not base, allow_metas=allow_metas)
if base:
branch_struct = find_struct(value)
assert branch_struct