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.thiba...@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 <sthiba...@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.thiba...@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 via email to