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
signature.asc
Description: OpenPGP digital signature
