[glibc] 01/01: Fix recvmsg on PF_LOCAL sockets with msg_name != NULL
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch sid
in repository glibc.
commit ebd03daf7ad5494d527a1b67368239b489e0fac8
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Tue Aug 9 01:47:13 2016 +0200
Fix recvmsg on PF_LOCAL sockets with msg_name != NULL
* patches/hurd-i386/git-recvmsg.diff: New patch. Closes: #833558.
---
debian/changelog | 7 +++++++
debian/patches/hurd-i386/git-recvmsg.diff | 33 +++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 41 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 8594c29..653b41f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+glibc (2.23-5) UNRELEASED; urgency=medium
+
+ * patches/hurd-i386/git-recvmsg.diff: New patch, fixes recvmsg on PF_LOCAL
+ sockets with msg_name != NULL. Closes: #833558.
+
+ -- Samuel Thibault <sthibault@debian.org> Tue, 09 Aug 2016 01:45:00 +0200
+
glibc (2.23-4) unstable; urgency=medium
[ Aurelien Jarno ]
diff --git a/debian/patches/hurd-i386/git-recvmsg.diff b/debian/patches/hurd-i386/git-recvmsg.diff
new file mode 100644
index 0000000..386524f
--- /dev/null
+++ b/debian/patches/hurd-i386/git-recvmsg.diff
@@ -0,0 +1,33 @@
+commit a194625ef31f0c33afae9b53e2dfaa17c2517606
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Tue Aug 9 01:42:50 2016 +0200
+
+ Fix recvmsg returning SIGLOST on PF_LOCAL sockets
+
+ when msg_name is not NULL.
+
+ * sysdeps/mach/hurd/recvmsg.c (__libc_recvmsg): Cope with aport being
+ MACH_PORT_NULL.
+
+diff --git a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c
+index 770a42e..51cfbd7 100644
+--- a/sysdeps/mach/hurd/recvmsg.c
++++ b/sysdeps/mach/hurd/recvmsg.c
+@@ -64,7 +64,7 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags)
+ &message->msg_flags, amount)))
+ return __hurd_sockfail (fd, flags, err);
+
+- if (message->msg_name != NULL)
++ if (message->msg_name != NULL && aport != MACH_PORT_NULL)
+ {
+ char *buf = message->msg_name;
+ mach_msg_type_number_t buflen = message->msg_namelen;
+@@ -98,6 +98,8 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags)
+ if (buflen > 0)
+ ((struct sockaddr *) message->msg_name)->sa_family = type;
+ }
++ else if (message->msg_name != NULL)
++ message->msg_namelen = 0;
+
+ __mach_port_deallocate (__mach_task_self (), aport);
+
diff --git a/debian/patches/series b/debian/patches/series
index 4af5d48..7202326 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -153,6 +153,7 @@ hurd-i386/cvs-check-local-headers.diff
hurd-i386/tg-faccessat.diff
hurd-i386/tg-eintr.diff
hurd-i386/cvs-tabdly.diff
+hurd-i386/git-recvmsg.diff
i386/local-biarch.diff
i386/local-cmov.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: