Updated to fedora-glibc-20080703T1203
[kopensolaris-gnu/glibc.git] / sysdeps / mach / hurd / recvfrom.c
index d5c73f4..2aca570 100644 (file)
@@ -41,7 +41,7 @@ __recvfrom (fd, buf, n, flags, addrarg, addr_len)
   char *bufp = buf;
   mach_msg_type_number_t nread = n;
   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;
   struct sockaddr *addr = addrarg.__sockaddr__;
@@ -52,7 +52,7 @@ __recvfrom (fd, buf, n, flags, addrarg, addr_len)
                                               &cdata, &clen,
                                               &flags,
                                               n)))
-    return __hurd_dfail (fd, err);
+    return __hurd_sockfail (fd, flags, err);
 
   /* Get address data for the returned address port if requested.  */
   if (addr != NULL)
@@ -74,7 +74,7 @@ __recvfrom (fd, buf, n, flags, addrarg, addr_len)
       if (err)
        {
          __mach_port_deallocate (__mach_task_self (), addrport);
-         return __hurd_dfail (fd, err);
+         return __hurd_sockfail (fd, flags, err);
        }
       
       if (*addr_len > buflen)