From a6bfb89d2fda1be39bf24b33d59fee29d65bf76f Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 28 Feb 2023 13:33:57 +0100 Subject: [PATCH] unix: use unsafe.Slice in anyToSockaddr Same as CL 471436 did in package syscall. Change-Id: Ic3f3a5ebb7ebe0cc7b6bbf377dd993cdbeaaa961 Reviewed-on: https://go-review.googlesource.com/c/sys/+/472015 TryBot-Result: Gopher Robot Reviewed-by: Ian Lance Taylor Auto-Submit: Tobias Klauser Run-TryBot: Tobias Klauser Reviewed-by: Cuong Manh Le Reviewed-by: Dmitri Shuralyov --- unix/syscall_aix.go | 4 +--- unix/syscall_bsd.go | 3 +-- unix/syscall_linux.go | 3 +-- unix/syscall_solaris.go | 3 +-- unix/syscall_zos_s390x.go | 3 +-- 5 files changed, 5 insertions(+), 11 deletions(-) diff --git a/unix/syscall_aix.go b/unix/syscall_aix.go index 9eaa2f859..d9f5544cc 100644 --- a/unix/syscall_aix.go +++ b/unix/syscall_aix.go @@ -292,9 +292,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { break } } - - bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) + sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: diff --git a/unix/syscall_bsd.go b/unix/syscall_bsd.go index eda42671f..7705c3270 100644 --- a/unix/syscall_bsd.go +++ b/unix/syscall_bsd.go @@ -245,8 +245,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { break } } - bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) + sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index 448c39bdd..bbcad678b 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -1015,8 +1015,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { for n < len(pp.Path) && pp.Path[n] != 0 { n++ } - bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) + sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: diff --git a/unix/syscall_solaris.go b/unix/syscall_solaris.go index dc1f3d7a6..d3444b64d 100644 --- a/unix/syscall_solaris.go +++ b/unix/syscall_solaris.go @@ -408,8 +408,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) { for n < len(pp.Path) && pp.Path[n] != 0 { n++ } - bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) + sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: diff --git a/unix/syscall_zos_s390x.go b/unix/syscall_zos_s390x.go index 8adcf399b..b295497ae 100644 --- a/unix/syscall_zos_s390x.go +++ b/unix/syscall_zos_s390x.go @@ -139,8 +139,7 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) { for n < int(pp.Len) && pp.Path[n] != 0 { n++ } - bytes := (*[len(pp.Path)]byte)(unsafe.Pointer(&pp.Path[0]))[0:n] - sa.Name = string(bytes) + sa.Name = string(unsafe.Slice((*byte)(unsafe.Pointer(&pp.Path[0])), n)) return sa, nil case AF_INET: