diff options
Diffstat (limited to 'security/gnome-keyring/files/patch-gnome-keyring-daemon-io.c')
-rw-r--r-- | security/gnome-keyring/files/patch-gnome-keyring-daemon-io.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/security/gnome-keyring/files/patch-gnome-keyring-daemon-io.c b/security/gnome-keyring/files/patch-gnome-keyring-daemon-io.c deleted file mode 100644 index 9c0e02eb14ff..000000000000 --- a/security/gnome-keyring/files/patch-gnome-keyring-daemon-io.c +++ /dev/null @@ -1,58 +0,0 @@ ---- gnome-keyring-daemon-io.c.orig Wed May 4 03:17:18 2005 -+++ gnome-keyring-daemon-io.c Sat Jul 16 21:46:13 2005 -@@ -100,14 +100,17 @@ read_unix_socket_credentials (int fd, - char buf; - - #ifdef HAVE_CMSGCRED -- char cmsgmem[CMSG_SPACE (sizeof (struct cmsgcred))]; -- struct cmsghdr *cmsg = (struct cmsghdr *) cmsgmem; -+ struct cmsgcred *cred; -+ union { -+ struct cmsghdr hdr; -+ char cred[CMSG_SPACE (sizeof (struct cmsgcred))]; -+ } cmsg; - #endif - - *pid = 0; - *uid = 0; - --#if defined(LOCAL_CREDS) && defined(HAVE_CMSGCRED) -+#if defined(LOCAL_CREDS) && defined(HAVE_CMSGCRED) && !defined(__FreeBSD__) - /* Set the socket to receive credentials on the next message */ - { - int on = 1; -@@ -126,9 +129,9 @@ read_unix_socket_credentials (int fd, - msg.msg_iovlen = 1; - - #ifdef HAVE_CMSGCRED -- memset (cmsgmem, 0, sizeof (cmsgmem)); -- msg.msg_control = cmsgmem; -- msg.msg_controllen = sizeof (cmsgmem); -+ memset (&cmsg, 0, sizeof (cmsg)); -+ msg.msg_control = (caddr_t) &cmsg; -+ msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred)); - #endif - - again: -@@ -147,7 +150,8 @@ read_unix_socket_credentials (int fd, - } - - #ifdef HAVE_CMSGCRED -- if (cmsg->cmsg_len < sizeof (cmsgmem) || cmsg->cmsg_type != SCM_CREDS) { -+ if (cmsg.hdr.cmsg_len < CMSG_LEN (sizeof (struct cmsgcred)) || -+ cmsg.hdr.cmsg_type != SCM_CREDS) { - g_warning ("Message from recvmsg() was not SCM_CREDS\n"); - return FALSE; - } -@@ -168,10 +172,7 @@ read_unix_socket_credentials (int fd, - return FALSE; - } - #elif defined(HAVE_CMSGCRED) -- struct cmsgcred *cred; -- -- cred = (struct cmsgcred *) CMSG_DATA (cmsg); -- -+ cred = (struct cmsgcred *) CMSG_DATA (&cmsg); - *pid = cred->cmcred_pid; - *uid = cred->cmcred_euid; - #else /* !SO_PEERCRED && !HAVE_CMSGCRED */ |