On 11/5/26 12:35, Philippe Mathieu-Daudé wrote:
On 8/5/26 13:24, Daniel P. Berrangé wrote:
The object_new_with_props/propv methods failed to validate the ID string
format, thus diverging from user_creatable_add_type.
Signed-off-by: Daniel P. Berrangé <[email protected]>
---
qom/object.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/qom/object.c b/qom/object.c
index 9c391071fb..62d2f0486a 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -24,6 +24,8 @@
#include "qapi/forward-visitor.h"
#include "qapi/qapi-builtin-visit.h"
#include "qobject/qjson.h"
+#include "qemu/id.h"
+#include "qapi/qmp/qerror.h"
#include "trace.h"
/* TODO: replace QObject with a simpler visitor to avoid a dependency
@@ -764,6 +766,13 @@ Object *object_new_with_propv(const char *typename,
ObjectClass *klass;
UserCreatable *uc;
+ if (id != NULL && !id_wellformed(id)) {
+ error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "id", "an
identifier");
+ error_append_hint(errp, "Identifiers consist of letters,
digits, "
+ "'-', '.', '_', starting with a letter.\n");
+ return NULL;
+ }
Use a common object_identifier_is_well_formed() helper?
I see the last patch of this series remove the duplication, so:
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>