qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 10/13] qapi: Clean up visitor's recovery from input with inva


From: Eric Blake
Subject: Re: [PATCH 10/13] qapi: Clean up visitor's recovery from input with invalid type
Date: Thu, 23 Apr 2020 13:06:02 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0

On 4/23/20 11:00 AM, Markus Armbruster wrote:
An alternate type's visit_type_FOO() fails when it runs into an
invalid ->type.  If it's an input visit, we then need to free the the
object we got from visit_start_alternate().  We do that with
qapi_free_FOO(), which uses the dealloc visitor.

Trouble is that object is in a bad state: its ->type is invalid.  So
the dealloc visitor will run into the same error again, and the error
recovery skips deallocating the alternate's (invalid) alternative.
This is a roundabout way to g_free() the alternate.

Simplify: replace the qapi_free_FOO() by g_free().

Signed-off-by: Markus Armbruster <address@hidden>
---
  scripts/qapi/visit.py | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)


Required looking at what gets generated into qapi_free_FOO() as well as when visit_start_alternate() can fail, but makes sense.

Reviewed-by: Eric Blake <address@hidden>

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]