--- a/src/os/user/lookup_unix.go +++ b/src/os/user/lookup_unix.go @@ -57,6 +57,12 @@ bufSize = 1024 } else { bufSize = C.sysconf(C._SC_GETPW_R_SIZE_MAX) + // The musl alternative standard library on Linux + // return -1 as specified by POSIX if there are no + // hard limit on _SC_GETPW_R_SIZE_MAX. + if bufSize == -1 { + bufSize = 1024 + } if bufSize <= 0 || bufSize > 1<<20 { return nil, fmt.Errorf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize) }