qom: catch errors in object_property_add_child
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Tested-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
28ec2598ff
commit
b0ed5e9fea
11
qom/object.c
11
qom/object.c
@ -988,17 +988,22 @@ static void object_finalize_child_property(Object *obj, const char *name,
|
||||
void object_property_add_child(Object *obj, const char *name,
|
||||
Object *child, Error **errp)
|
||||
{
|
||||
Error *local_err = NULL;
|
||||
gchar *type;
|
||||
|
||||
type = g_strdup_printf("child<%s>", object_get_typename(OBJECT(child)));
|
||||
|
||||
object_property_add(obj, name, type, object_get_child_property,
|
||||
NULL, object_finalize_child_property, child, errp);
|
||||
|
||||
object_property_add(obj, name, type, object_get_child_property, NULL,
|
||||
object_finalize_child_property, child, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
goto out;
|
||||
}
|
||||
object_ref(child);
|
||||
g_assert(child->parent == NULL);
|
||||
child->parent = obj;
|
||||
|
||||
out:
|
||||
g_free(type);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user