Bugfix: null-terminate the path in sockaddr_un before using it.

This may fix itermittant connect failures.
This commit is contained in:
Ian Osgood 2006-03-08 21:56:57 -08:00
parent 522a6e0eac
commit 6fb661f3ff

View File

@ -168,7 +168,9 @@ static Xauth *get_authptr(struct sockaddr *sockname, unsigned int socknamelen)
case AF_UNIX:
/*block*/ {
struct sockaddr_un *su = (struct sockaddr_un *) sockname;
char *sockbuf = (char *) sockname;
assert(sizeof(*su) >= socknamelen);
sockbuf[socknamelen] = 0; /* null-terminate path */
display = strrchr(su->sun_path, 'X');
if (display == 0)
return 0; /* sockname is mangled somehow */