From: Eric Blake Date: Thu, 13 Nov 2025 01:11:33 +0000 (-0600) Subject: chardev: Reuse channel's cached local address X-Git-Tag: v10.2.0-rc1~9^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dfeadf82c2b428d1c7f59d4b573588095630d99e;p=thirdparty%2Fqemu.git chardev: Reuse channel's cached local address Directly accessing the fd member of a QIOChannelSocket is an undesirable leaky abstraction. What's more, grabbing that fd merely to force an eventual call to getsockname() can be wasteful, since the channel is often able to return its cached local name. Reported-by: Daniel P. Berrangé Signed-off-by: Eric Blake Message-ID: <20251113011625.878876-23-eblake@redhat.com> Reviewed-by: Daniel P. Berrangé --- diff --git a/chardev/char-socket.c b/chardev/char-socket.c index 62852e3caf..ec4116ade4 100644 --- a/chardev/char-socket.c +++ b/chardev/char-socket.c @@ -1255,7 +1255,7 @@ static int qmp_chardev_open_socket_server(Chardev *chr, } qapi_free_SocketAddress(s->addr); - s->addr = socket_local_address(s->listener->sioc[0]->fd, errp); + s->addr = qio_channel_socket_get_local_address(s->listener->sioc[0], errp); skip_listen: update_disconnected_filename(s);