[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 17/19] qapi: Fix to .check() empty structs just
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 17/19] qapi: Fix to .check() empty structs just once |
Date: |
Tue, 17 Sep 2019 14:06:16 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 9/14/19 10:35 AM, Markus Armbruster wrote:
> QAPISchemaObjectType.check() does nothing for types that have been
> checked already. Except the "has been checked" predicate is broken
> for empty types: self.members is [] then, which isn't true. The bug
> is harmless, but fix it anyway: use self.member is not None instead.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> scripts/qapi/common.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Eric Blake <address@hidden>
>
> diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
> index 7e79c42b6a..e2c87d1349 100644
> --- a/scripts/qapi/common.py
> +++ b/scripts/qapi/common.py
> @@ -1406,7 +1406,7 @@ class QAPISchemaObjectType(QAPISchemaType):
> if self.members is False: # check for cycles
> raise QAPISemError(self.info,
> "Object %s contains itself" % self.name)
> - if self.members:
> + if self.members is not None: # already checked
> return
> self.members = False # mark as being checked
> seen = OrderedDict()
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
- [Qemu-devel] [PATCH 18/19] qapi: Fix excessive QAPISchemaEntity.check() recursion, (continued)
- [Qemu-devel] [PATCH 18/19] qapi: Fix excessive QAPISchemaEntity.check() recursion, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 19/19] qapi: Assert .visit() and .check_clash() run only after .check(), Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 16/19] qapi: Delete useless check_exprs() code for simple union kind, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 15/19] qapi: Clean up around check_known_keys(), Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 17/19] qapi: Fix to .check() empty structs just once, Markus Armbruster, 2019/09/14
- Re: [Qemu-devel] [PATCH 17/19] qapi: Fix to .check() empty structs just once,
Eric Blake <=
- [Qemu-devel] [PATCH 07/19] qapi: Use quotes more consistently in frontend error messages, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 09/19] qapi: Remove null from schema language, Markus Armbruster, 2019/09/14
- [Qemu-devel] [PATCH 13/19] qapi: Normalize 'if' in check_exprs(), like other sugar, Markus Armbruster, 2019/09/14