]> Cypherpunks repositories - gostls13.git/commitdiff
internal/fuzz: simplify code using unsafe.{SliceData,Slice}
authorcuiweixie <cuiweixie@gmail.com>
Sat, 3 Sep 2022 06:28:35 +0000 (14:28 +0800)
committerGopher Robot <gobot@golang.org>
Wed, 7 Sep 2022 01:33:53 +0000 (01:33 +0000)
Updates #54854

Change-Id: If70b11c0fc920b7214fcff249da9e3c4ac1de991
Reviewed-on: https://go-review.googlesource.com/c/go/+/428156
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>

src/internal/fuzz/mutator.go
src/internal/fuzz/sys_windows.go

index e26ae5a5836c2e47707019d3596dbf705a43374f..bb960660ae86d7d42c2ac7774a3c81048181ba8e 100644 (file)
@@ -8,7 +8,6 @@ import (
        "encoding/binary"
        "fmt"
        "math"
-       "reflect"
        "unsafe"
 )
 
@@ -265,9 +264,7 @@ var byteSliceMutators = []byteSliceMutator{
 func (m *mutator) mutateBytes(ptrB *[]byte) {
        b := *ptrB
        defer func() {
-               oldHdr := (*reflect.SliceHeader)(unsafe.Pointer(ptrB))
-               newHdr := (*reflect.SliceHeader)(unsafe.Pointer(&b))
-               if oldHdr.Data != newHdr.Data {
+               if unsafe.SliceData(*ptrB) != unsafe.SliceData(b) {
                        panic("data moved to new address")
                }
                *ptrB = b
index 9c006b010efc2f24dfa2e0149b51a8be4d59e4c4..aa85be7e1c64d7b6ad9c0d039ed264418ab3b90e 100644 (file)
@@ -8,7 +8,6 @@ import (
        "fmt"
        "os"
        "os/exec"
-       "reflect"
        "syscall"
        "unsafe"
 )
@@ -51,11 +50,7 @@ func sharedMemMapFile(f *os.File, size int, removeOnClose bool) (mem *sharedMem,
                return nil, err
        }
 
-       var region []byte
-       header := (*reflect.SliceHeader)(unsafe.Pointer(&region))
-       header.Data = addr
-       header.Len = size
-       header.Cap = size
+       region := unsafe.Slice((*byte)(unsafe.Pointer(addr)), size)
        return &sharedMem{
                f:             f,
                region:        region,