Bugfix: null-terminate the path in sockaddr_un before using it.
This may fix itermittant connect failures.
This commit is contained in:
parent
522a6e0eac
commit
6fb661f3ff
|
@ -168,7 +168,9 @@ static Xauth *get_authptr(struct sockaddr *sockname, unsigned int socknamelen)
|
||||||
case AF_UNIX:
|
case AF_UNIX:
|
||||||
/*block*/ {
|
/*block*/ {
|
||||||
struct sockaddr_un *su = (struct sockaddr_un *) sockname;
|
struct sockaddr_un *su = (struct sockaddr_un *) sockname;
|
||||||
|
char *sockbuf = (char *) sockname;
|
||||||
assert(sizeof(*su) >= socknamelen);
|
assert(sizeof(*su) >= socknamelen);
|
||||||
|
sockbuf[socknamelen] = 0; /* null-terminate path */
|
||||||
display = strrchr(su->sun_path, 'X');
|
display = strrchr(su->sun_path, 'X');
|
||||||
if (display == 0)
|
if (display == 0)
|
||||||
return 0; /* sockname is mangled somehow */
|
return 0; /* sockname is mangled somehow */
|
||||||
|
|
Loading…
Reference in New Issue