]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/fixperms.go
remote: guard against symlinks in earlier path components
[safcm/safcm.git] / cmd / safcm / fixperms.go
index 47e4fb96484db645402ad9cbdb60676e04a041bc..af5c65826e3310533c5e4f4748e8bd5a2ae03851 100644 (file)
@@ -23,9 +23,9 @@ import (
        "log"
        "os"
        "path/filepath"
-       "syscall"
 
        "ruderich.org/simon/safcm/cmd/safcm/config"
+       "ruderich.org/simon/safcm/remote/sync"
 )
 
 func MainFixperms() error {
@@ -101,8 +101,7 @@ func fixpermsWalkDirFunc(path string, d fs.DirEntry, err error) error {
 
 // chmodNoFollow works like os.Chmod but doesn't follow symlinks.
 func chmodNoFollow(path string, mode fs.FileMode) error {
-       x, err := os.OpenFile(path,
-               os.O_RDONLY|syscall.O_NOFOLLOW|syscall.O_NONBLOCK, 0)
+       x, err := sync.OpenFileNoSymlinks(path)
        if err != nil {
                return err
        }