2005-10-22  Roland McGrath  <roland@redhat.com>
	[BZ #1254]
	* sysdeps/mach/hurd/getpeername.c (__getpeername): Fix last change.
	From Samuel Thibault <samuel.thibault@ens-lyon.org>.
This commit is contained in:
Roland McGrath 2005-10-23 00:46:40 +00:00
parent d8f5ccdde7
commit 2ba7a64cb9
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2005-10-22 Roland McGrath <roland@redhat.com>
[BZ #1254]
* sysdeps/mach/hurd/getpeername.c (__getpeername): Fix last change.
From Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-17 Thomas Schwinge <tschwinge@gnu.org>
[BZ #1252]

View File

@ -55,11 +55,14 @@ __getpeername (int fd, __SOCKADDR_ARG addrarg, socklen_t *len)
}
const sa_family_t family = type;
if (*len < (char *) (&addr->sa_family + 1) - (char *) addr)
memcpy (&addr->sa_family, &family,
*len - offsetof (struct sockaddr, sa_family));
else
addr->sa_family = family;
if (*len > offsetof (struct sockaddr, sa_family))
{
if (*len < (char *) (&addr->sa_family + 1) - (char *) addr)
memcpy (&addr->sa_family, &family,
*len - offsetof (struct sockaddr, sa_family));
else
addr->sa_family = family;
}
return 0;
}