Hi Paolo, On 6/24/20 4:17 PM, Auger Eric wrote: > Hi Paolo, > > On 6/24/20 4:12 PM, Paolo Bonzini wrote: >> On 24/06/20 14:43, Eric Auger wrote: >>> + op = object_property_try_add(obj, name, type, >>> object_get_child_property, >>> + NULL, object_finalize_child_property, >>> + child, errp); >>> + if (!op) { >>> + goto out; >>> + } >>> op->resolve = object_resolve_child_property; >>> +out: >>> object_ref(child); >>> child->parent = obj; >>> return op; >> >> I think if there's an error you need to return NULL without ref-ing >> child, shouldn't you? > hum yes you're fully right, the out label is badly placed. Looks the unref is done in user_creatable_add_type() in case of error. Isn't it the corresponding one? Anyway I think it is better to avoid getting the ref here as you suggest (and also free type) and don't unref in user_creatable_add_type.
Thanks Eric >> >> You can then add another test that object_property_add_child succeeds >> after object_property_try_add_child fails. > OK > > Thanks > > Eric >> >> Paolo >>