fix: use ssize_t for readlinkat return value in p9file.cpp (#40226)

readlinkat() returns ssize_t, not int. On 64-bit systems this could silently truncate the return value for very long symlink targets. Co-authored-by: Ben Hillis <benhill@ntdev.microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Ben Hillis committed Apr 17, 2026 at 14:08 UTC 07b0cb4042a2c340fa975bda2126478c2db92feb
1 file changed +1 -1
src/linux/plan9/p9file.cpp
+1 -1
@@ -850,7 +850,7 @@ Expected<UINT32> File::ReadLink(gsl::span<char> name)
850 {
851 const auto fileName = GetFileName();
852 util::FsUserContext userContext{m_Root->Uid, m_Root->Gid, m_Root->Groups};
853 - int result = readlinkat(m_Root->RootFd, fileName.c_str(), name.data(), name.size());
853 + ssize_t result = readlinkat(m_Root->RootFd, fileName.c_str(), name.data(), name.size());
854 if (result < 0)
855 {
856 return LxError{-errno};