[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 2/8] chardev: don't abort on attempt to add duplicated chardev
From: |
Marc-André Lureau |
Subject: |
[PULL 2/8] chardev: don't abort on attempt to add duplicated chardev |
Date: |
Mon, 13 Jul 2020 12:24:18 +0400 |
This is a regression from commit d2623129a7d ("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: d2623129a7dec1d3041ad1221dda1ca49c667532
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
---
chardev/char.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/chardev/char.c b/chardev/char.c
index e5b43cb4b87..a0626d04d50 100644
--- a/chardev/char.c
+++ b/chardev/char.c
@@ -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);
}
--
2.27.0.221.ga08a83db2b
- [PULL 0/8] Chardev patches, Marc-André Lureau, 2020/07/13
- [PULL 1/8] char-socket: initialize reconnect timer only when the timer doesn't start, Marc-André Lureau, 2020/07/13
- [PULL 2/8] chardev: don't abort on attempt to add duplicated chardev,
Marc-André Lureau <=
- [PULL 3/8] char: fix use-after-free with dup chardev & reconnect, Marc-André Lureau, 2020/07/13
- [PULL 4/8] monitor/misc: Remove unused "chardev/char-mux.h" include, Marc-André Lureau, 2020/07/13
- [PULL 5/8] tests/test-char: Remove unused "chardev/char-mux.h" include, Marc-André Lureau, 2020/07/13
- [PULL 6/8] chardev: Restrict msmouse / wctablet / testdev to system emulation, Marc-André Lureau, 2020/07/13
- [PULL 7/8] chardev: Reduce "char-mux.h" scope, rename it "chardev-internal.h", Marc-André Lureau, 2020/07/13
- [PULL 8/8] chardev: Extract system emulation specific code, Marc-André Lureau, 2020/07/13
- Re: [PULL 0/8] Chardev patches, Peter Maydell, 2020/07/13