Am 26.02.2021 um 12:30 hat Paolo Bonzini geschrieben: > On 24/02/21 14:52, Kevin Wolf wrote: > > + v = qobject_output_visitor_new(&qobj); > > + visit_type_ObjectOptions(v, NULL, &options, &error_abort); > > + visit_complete(v, &qobj); > > + visit_free(v); > > + > > + props = qobject_to(QDict, qobj); > > + qdict_del(props, "qom-type"); > > + qdict_del(props, "id"); > > + > > + v = qobject_input_visitor_new(QOBJECT(props)); > > + obj = user_creatable_add_type(ObjectType_str(options->qom_type), > > + options->id, props, v, errp); > > + object_unref(obj); > > Please add a check in object_property_add_child that the id is well formed > (using the id_wellformed function). This is pre-existing, but it becomes a > regression for -object later in the series.
Are the conditions for internally called object_property_add_child() actually the same as for IDs specified by the user? For example, I seem to remember some array-ish properties with [] in their name which aren't allowed by id_wellformed(). The obvious place to affect only the external interfaces would be user_creatable_add_type(). Kevin