Messages in this thread Patch in this message | | | Date | Sat, 8 Mar 2008 02:23:21 +0000 | From | Samuel Thibault <> | Subject | [PATCH,TRIVIAL] AF_UNIX, accept() and addrlen |
| |
Hello,
Accept and getpeername are supposed to return the amount of bytes written in the returned address. However, on unnamed sockets, only sizeof(short) is returned, while a 0 is put in the sun_path member. This patch adds 1 for that additional byte.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
--- linux/net/unix/af_unix.c.orig 2008-03-08 02:17:40.000000000 +0000 +++ linux/net/unix/af_unix.c 2008-03-08 02:17:54.000000000 +0000 @@ -1274,7 +1274,7 @@ static int unix_getname(struct socket *s if (!u->addr) { sunaddr->sun_family = AF_UNIX; sunaddr->sun_path[0] = 0; - *uaddr_len = sizeof(short); + *uaddr_len = sizeof(short) + 1; } else { struct unix_address *addr = u->addr;
| |