From 743db9327bf8223dba59b1b666ba547a14e18afb Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Tue, 4 Apr 2023 01:58:02 +0100 Subject: [PATCH] dbus/socket: set msgheader controllen size using the right macro Use CMSG_SPACE to set the size of msg_controllen when sending FDs. CMSG_LEN was used implicicly before, which for 1 FD is 20 bytes, while CMSG_SPACE is 24 bytes. Signed-off-by: Luca Boccassi Signed-off-by: David Rheinsberg --- src/dbus/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dbus/socket.c b/src/dbus/socket.c index d429588..85eedda 100644 --- a/src/dbus/socket.c +++ b/src/dbus/socket.c @@ -806,7 +806,7 @@ static int socket_dispatch_write(Socket *socket) { buffer->message->fds && socket_buffer_is_uncomsumed(buffer)) { msg->msg_control = buffer->message->fds->cmsg; - msg->msg_controllen = buffer->message->fds->cmsg->cmsg_len; + msg->msg_controllen = fdlist_size(buffer->message->fds); } else { msg->msg_control = NULL; msg->msg_controllen = 0; -- 2.33.0