diff --git a/internal/fs/file.go b/internal/fs/file.go index 57f1a996a..0de5e2608 100644 --- a/internal/fs/file.go +++ b/internal/fs/file.go @@ -71,6 +71,10 @@ func ResetPermissions(path string) error { // Readdirnames returns a list of file in a directory. Flags are passed to fs.OpenFile. // O_RDONLY and O_DIRECTORY are implied. func Readdirnames(filesystem FS, dir string, flags int) ([]string, error) { + // cleanup internal flag that conflicts with actual windows API flags + if runtime.GOOS == "windows" { + flags &^= O_NOFOLLOW + } f, err := filesystem.OpenFile(dir, O_RDONLY|O_DIRECTORY|flags, false) if err != nil { return nil, fmt.Errorf("openfile for readdirnames failed: %w", err)