Am 28.02.2012 09:54, schrieb Paolo Bonzini:
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: Michael S. Tsirkin m...@redhat.com
Signed-off-by: Paolo Bonzini pbonz...@redhat.com
---
qom/object.c |7 ++-
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/qom/object.c b/qom/object.c
index aa037d2..39cbcb9 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -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) {
Didn't someone post a patch introducing an object_property_is_child() or
so? Would be handy here.
Otherwise looks okay.
Andreas
object_property_del(obj, prop-name, errp);
+break;
}
}
}
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg