Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- qemu-char.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c index 403b8a3dc7..8a5953954c 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -1417,10 +1417,10 @@ static void qemu_chr_set_echo_stdio(Chardev *chr, bool echo) tcsetattr (0, TCSANOW, &tty); } -static void qemu_chr_free_stdio(struct Chardev *chr) +static void char_stdio_finalize(Object *obj) { term_exit(); - fd_chr_free(chr); + fd_chr_free(CHARDEV(chr)); } static void qemu_chr_open_stdio(Chardev *chr, @@ -3852,7 +3852,6 @@ static void char_stdio_class_init(ObjectClass *oc, void *data) cc->chr_free = win_stdio_free; #else cc->chr_set_echo = qemu_chr_set_echo_stdio; - cc->chr_free = qemu_chr_free_stdio; #endif } @@ -3862,6 +3861,7 @@ static const TypeInfo char_stdio_type_info = { .parent = TYPE_CHARDEV_WIN_STDIO, #else .parent = TYPE_CHARDEV_FD, + .instance_finalize = char_stdio_finalize, #endif .class_init = char_stdio_class_init, }; -- 2.11.0