1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

tsocket: allow AF_UNIX sockaddrs smaller than sizeof(sockaddr_un)

This is needed as getpeername() truncates the length to 2 if the
peer socket has no name.

metze
This commit is contained in:
Stefan Metzmacher 2009-12-23 19:31:41 +01:00
parent 96207912cb
commit 4784c8c3be

View File

@ -210,12 +210,13 @@ int _tsocket_address_bsd_from_sockaddr(TALLOC_CTX *mem_ctx,
struct tsocket_address *addr; struct tsocket_address *addr;
struct tsocket_address_bsd *bsda; struct tsocket_address_bsd *bsda;
if (sa_socklen < sizeof(sa->sa_family)) {
errno = EINVAL;
return -1;
}
switch (sa->sa_family) { switch (sa->sa_family) {
case AF_UNIX: case AF_UNIX:
if (sa_socklen < sizeof(struct sockaddr_un)) {
errno = EINVAL;
return -1;
}
break; break;
case AF_INET: case AF_INET:
if (sa_socklen < sizeof(struct sockaddr_in)) { if (sa_socklen < sizeof(struct sockaddr_in)) {