mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: fix slicecopy return value for zero-width elements
Fixes #8620 Change-Id: Idb49e586919d21d07e94a39ed9ebb0562f403460 Reviewed-on: https://go-review.googlesource.com/2221 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
865e5e98b6
commit
537ddc9456
2 changed files with 35 additions and 1 deletions
|
|
@ -92,7 +92,7 @@ func growslice(t *slicetype, old sliceStruct, n int64) sliceStruct {
|
|||
}
|
||||
|
||||
func slicecopy(to sliceStruct, fm sliceStruct, width uintptr) int {
|
||||
if fm.len == 0 || to.len == 0 || width == 0 {
|
||||
if fm.len == 0 || to.len == 0 {
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
@ -101,6 +101,10 @@ func slicecopy(to sliceStruct, fm sliceStruct, width uintptr) int {
|
|||
n = to.len
|
||||
}
|
||||
|
||||
if width == 0 {
|
||||
return n
|
||||
}
|
||||
|
||||
if raceenabled {
|
||||
callerpc := getcallerpc(unsafe.Pointer(&to))
|
||||
pc := funcPC(slicecopy)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue