Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> --- qemu-char.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c index 06281c60e7..ea8b12fa4f 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -3442,9 +3442,10 @@ int qemu_chr_fe_wait_connected(CharBackend *be, Error **errp) return qemu_chr_wait_connected(be->chr, errp); } -static void tcp_chr_free(Chardev *chr) +static void char_socket_finalize(Object *obj) { - SocketChardev *s = SOCKET_CHARDEV(chr); + Chardev *chr = CHARDEV(obj); + SocketChardev *s = SOCKET_CHARDEV(obj); tcp_chr_free_connection(chr); @@ -4924,13 +4925,13 @@ static void char_socket_class_init(ObjectClass *oc, void *data) cc->chr_add_client = tcp_chr_add_client; cc->chr_add_watch = tcp_chr_add_watch; cc->chr_update_read_handler = tcp_chr_update_read_handler; - cc->chr_free = tcp_chr_free; } static const TypeInfo char_socket_type_info = { .name = TYPE_CHARDEV_SOCKET, .parent = TYPE_CHARDEV, .instance_size = sizeof(SocketChardev), + .instance_finalize = char_socket_finalize, .class_init = char_socket_class_init, }; -- 2.11.0