about summary refs log tree commit diff
path: root/sysdeps/mach/hurd/recvmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach/hurd/recvmsg.c')
-rw-r--r--sysdeps/mach/hurd/recvmsg.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/mach/hurd/recvmsg.c b/sysdeps/mach/hurd/recvmsg.c
index c6874e8bd8..33897b8ce8 100644
--- a/sysdeps/mach/hurd/recvmsg.c
+++ b/sysdeps/mach/hurd/recvmsg.c
@@ -34,7 +34,7 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags)
   char *data = NULL;
   mach_msg_type_number_t len = 0;
   mach_port_t *ports;
-  mach_msg_type_number_t nports;
+  mach_msg_type_number_t nports = 0;
   char *cdata = NULL;
   mach_msg_type_number_t clen = 0;
   size_t amount;
@@ -63,7 +63,7 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags)
 					       &ports, &nports,
 					       &cdata, &clen,
 					       &message->msg_flags, amount)))
-    return __hurd_dfail (fd, err);
+    return __hurd_sockfail (fd, flags, err);
 
   if (message->msg_name != NULL)
     {
@@ -84,7 +84,7 @@ __libc_recvmsg (int fd, struct msghdr *message, int flags)
       if (err)
 	{
 	  __mach_port_deallocate (__mach_task_self (), aport);
-	  return __hurd_dfail (fd, err);
+	  return __hurd_sockfail (fd, flags, err);
 	}
 
       if (message->msg_namelen > buflen)