Commit b0ed5e9f authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Luiz Capitulino
Browse files

qom: catch errors in object_property_add_child

parent 28ec2598
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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);
}