On 10/14/2015 10:30 AM, Eric Blake wrote:
> Commit e36c714e causes 'qemu -netdev ?' to dump core, because the
> call to visit_end_union() is no longer conditional on whether
> *obj was allocated.
> 
> Reported by Marc-AndrĂ© Lureau <[email protected]>
> Signed-off-by: Eric Blake <[email protected]>
> ---
>  scripts/qapi-visit.py | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
> index 9e99c3a..74748a2 100644
> --- a/scripts/qapi-visit.py
> +++ b/scripts/qapi-visit.py
> @@ -297,7 +297,9 @@ void visit_type_%(c_name)s(Visitor *v, %(c_name)s **obj, 
> const char *name, Error
>  out_obj:
>      error_propagate(errp, err);
>      err = NULL;
> -    visit_end_union(v, !!(*obj)->u.data, &err);
> +    if (*obj) {
> +        visit_end_union(v, !!(*obj)->u.data, &err);
> +    }

And of course, I managed to post a version that depends on patches not
in the tree yet. v2 coming up.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to