Confine local file installation paths

This commit is contained in:
2026-08-10 17:59:29 +00:00
parent 59f3fe3d1d
commit 18ddf00d3d
20 changed files with 694 additions and 153 deletions

View File

@@ -16,7 +16,11 @@ func syncDirectory(path string) error {
}
defer func() { _ = directory.Close() }()
err = directory.Sync()
return syncDirectoryFile(directory, path)
}
func syncDirectoryFile(directory *os.File, path string) error {
err := directory.Sync()
// Some Unix filesystems do not implement directory syncing. Report this
// explicitly so callers do not confuse visible replacement with a durable one.
if errors.Is(err, syscall.EINVAL) || errors.Is(err, syscall.ENOTSUP) {