From: cuiweixie Date: Sat, 3 Sep 2022 06:28:35 +0000 (+0800) Subject: internal/fuzz: simplify code using unsafe.{SliceData,Slice} X-Git-Tag: go1.20rc1~1160 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=92b8f4e293421b3b61e868d593a89315c788c327;p=gostls13.git internal/fuzz: simplify code using unsafe.{SliceData,Slice} Updates #54854 Change-Id: If70b11c0fc920b7214fcff249da9e3c4ac1de991 Reviewed-on: https://go-review.googlesource.com/c/go/+/428156 TryBot-Result: Gopher Robot Reviewed-by: Michael Knyszek Run-TryBot: Bryan Mills Reviewed-by: Bryan Mills Auto-Submit: Bryan Mills --- diff --git a/src/internal/fuzz/mutator.go b/src/internal/fuzz/mutator.go index e26ae5a583..bb960660ae 100644 --- a/src/internal/fuzz/mutator.go +++ b/src/internal/fuzz/mutator.go @@ -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 diff --git a/src/internal/fuzz/sys_windows.go b/src/internal/fuzz/sys_windows.go index 9c006b010e..aa85be7e1c 100644 --- a/src/internal/fuzz/sys_windows.go +++ b/src/internal/fuzz/sys_windows.go @@ -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(®ion)) - header.Data = addr - header.Len = size - header.Cap = size + region := unsafe.Slice((*byte)(unsafe.Pointer(addr)), size) return &sharedMem{ f: f, region: region,