chardev: don't abort on attempt to add duplicated chardev

This is a regression from commit d2623129a7 ("qom: Drop parameter @errp
of object_property_add() & friends").

(qemu) chardev-add id=null,backend=null
(qemu) chardev-add id=null,backend=null
Unexpected error in object_property_try_add() at /home/elmarco/src/qemu/qom/object.c:1166:
attempt to add duplicate property 'null' to object (type 'container')

That case is currently not covered in the test suite, but will be with
the queued patch "char: fix use-after-free with dup chardev &
reconnect".

Fixes: d2623129a7
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
Marc-André Lureau 2020-07-06 22:10:34 +04:00
parent 2b61bb716c
commit 14a7a20306

View File

@ -996,7 +996,11 @@ static Chardev *chardev_new(const char *id, const char *typename,
}
if (id) {
object_property_add_child(get_chardevs_root(), id, obj);
object_property_try_add_child(get_chardevs_root(), id, obj,
&local_err);
if (local_err) {
goto end;
}
object_unref(obj);
}