diff --git a/osspecifics/osspecifics.go b/osspecifics/osspecifics.go index 44a4ec4..f936732 100644 --- a/osspecifics/osspecifics.go +++ b/osspecifics/osspecifics.go @@ -91,7 +91,7 @@ func CheckRunAsRoot() (bool, error) { } func GetDeviceLogicalBlockSize(devPath string) (uint64, error) { - fd, err := os.Open(devPath) + fd, err := os.Open(filepath.Clean(devPath)) if err != nil { return 0, errors.Wrap(err, "open device") } diff --git a/osspecifics/osspecifics_linux.go b/osspecifics/osspecifics_linux.go index ce44f32..8f93e71 100644 --- a/osspecifics/osspecifics_linux.go +++ b/osspecifics/osspecifics_linux.go @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -// go:build linux +//go:build linux package osspecifics @@ -27,10 +27,10 @@ import ( func getDeviceLogicalBlockSizeInner(fd uintptr) (int64, error) { var bs int64 - _, _, serr := unix.Syscall(unix.SYS_IOCTL, fd, unix.BLKSSZGET, uintptr(unsafe.Pointer(&bs))) + _, _, serr := unix.Syscall(unix.SYS_IOCTL, fd, unix.BLKSSZGET, uintptr(unsafe.Pointer(&bs))) // #nosec G103 It's safe. if serr != 0 { return 0, errors.Wrap(serr, "syscall get logical block size") } - return int64(bs), nil + return bs, nil } diff --git a/osspecifics/osspecifics_windows.go b/osspecifics/osspecifics_windows.go index 767b235..bee015e 100644 --- a/osspecifics/osspecifics_windows.go +++ b/osspecifics/osspecifics_windows.go @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with this program. If not, see . -// go:build windows +//go:build windows package osspecifics