Commit 6c1fdcf9 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Anthony Liguori
Browse files

qom: fix device hot-unplug



Property removal modifies the list, so it is not safe to continue
iteration.  We know anyway that each object can have only one
parent (see object_property_add_child), so exit after finding
the requested object.

Reported-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
parent 66d341e5
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -304,12 +304,9 @@ static void object_property_del_child(Object *obj, Object *child, Error **errp)
    ObjectProperty *prop;

    QTAILQ_FOREACH(prop, &obj->properties, node) {
        if (!strstart(prop->type, "child<", NULL)) {
            continue;
        }

        if (prop->opaque == child) {
        if (strstart(prop->type, "child<", NULL) && prop->opaque == child) {
            object_property_del(obj, prop->name, errp);
            break;
        }
    }
}