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