createUnixDomainSocket(): Fix off-by-one error in copying the socket path

Reported by Kane York.
This commit is contained in:
Eelco Dolstra 2020-07-24 11:19:17 +02:00
parent 26fcab53e0
commit 2292814049
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -1581,7 +1581,7 @@ AutoCloseFD createUnixDomainSocket(const Path & path, mode_t mode)
struct sockaddr_un addr;
addr.sun_family = AF_UNIX;
if (path.size() >= sizeof(addr.sun_path))
if (path.size() + 1 >= sizeof(addr.sun_path))
throw Error("socket path '%1%' is too long", path);
strcpy(addr.sun_path, path.c_str());