diff options
author | Ian Osgood <iosgood@Titania.local> | 2006-03-08 21:56:57 -0800 |
---|---|---|
committer | Ian Osgood <iosgood@Titania.local> | 2006-03-08 21:56:57 -0800 |
commit | 6fb661f3ff2fca342b4ea76d5a583c5e4f53e076 (patch) | |
tree | 34b636be97b1c08a4c3d2bb68541bc187acd3668 /src/xcb_auth.c | |
parent | 522a6e0eac9adeaac533a5b700f42d85d46e2dd7 (diff) |
Bugfix: null-terminate the path in sockaddr_un before using it.
This may fix itermittant connect failures.
Diffstat (limited to 'src/xcb_auth.c')
-rw-r--r-- | src/xcb_auth.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/xcb_auth.c b/src/xcb_auth.c index 9f2cb5a..fb1d0d3 100644 --- a/src/xcb_auth.c +++ b/src/xcb_auth.c @@ -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 */ |