FEXServerClient: Cleanup AF_UNIX abstract socket string math

Makes it a bit easier to reason about.
This commit is contained in:
Ryan Houdek committed 2022-11-22 03:05:33 -08:00
1 parent 83cebea780
commit 10e35a55ea
2 files changed
+7 -7

No files matched your search

+3 -3
View File
@@ -190,11 +190,11 @@ namespace ProcessPipe {
struct sockaddr_un addr{};
addr.sun_family = AF_UNIX;
// + 1 for null character initializer.
size_t SizeOfSocketString = std::min(ServerSocketName.size(), sizeof(addr.sun_path) - 2);
size_t SizeOfSocketString = std::min(ServerSocketName.size() + 1, sizeof(addr.sun_path) - 1);
addr.sun_path[0] = 0; // Abstract AF_UNIX sockets start with \0
strncpy(addr.sun_path + 1, ServerSocketName.data(), SizeOfSocketString);
// Include final null character.
size_t SizeOfAddr = sizeof(addr.sun_family) + SizeOfSocketString + 1;
size_t SizeOfAddr = sizeof(addr.sun_family) + SizeOfSocketString;
// Bind the socket to the path
int Result = bind(ServerSocketFD, reinterpret_cast<struct sockaddr*>(&addr), SizeOfAddr);