OSDN Git Service

qapi: Fix regression with '-netdev help'
authorEric Blake <eblake@redhat.com>
Wed, 14 Oct 2015 22:30:25 +0000 (16:30 -0600)
committerMarkus Armbruster <armbru@redhat.com>
Thu, 15 Oct 2015 06:37:11 +0000 (08:37 +0200)
Commit e36c714e causes 'qemu -netdev help' to dump core, because the
call to visit_end_union() is no longer conditional on whether *obj was
allocated.

Reported by Marc-AndrĂ© Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1444861825-19256-1-git-send-email-eblake@redhat.com>
[Commit message tweaked to say 'help' instead of '?']
Signed-off-by: Markus Armbruster <armbru@redhat.com>
scripts/qapi-visit.py

index 4f97781..d7f51ee 100644 (file)
@@ -301,7 +301,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)->data, &err);
+    if (*obj) {
+        visit_end_union(v, !!(*obj)->data, &err);
+    }
     error_propagate(errp, err);
     err = NULL;
     visit_end_struct(v, &err);