33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
From 743db9327bf8223dba59b1b666ba547a14e18afb Mon Sep 17 00:00:00 2001
|
|
From: Luca Boccassi <bluca@debian.org>
|
|
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 <bluca@debian.org>
|
|
Signed-off-by: David Rheinsberg <david@readahead.eu>
|
|
---
|
|
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
|
|
|