mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: don't return a slice with nil ptr but non-zero len from growslice
Fixes #10135. Change-Id: Ic4c5ab15bcb7b9c3fcc685a788d3b59c60c26e1e Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/7400 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
1e1c9dc2c8
commit
0d6a0d6c3f
2 changed files with 28 additions and 1 deletions
|
|
@ -50,7 +50,9 @@ func growslice(t *slicetype, old sliceStruct, n int) sliceStruct {
|
|||
|
||||
et := t.elem
|
||||
if et.size == 0 {
|
||||
return sliceStruct{old.array, old.len, cap}
|
||||
// append should not create a slice with nil pointer but non-zero len.
|
||||
// We assume that append doesn't need to preserve old.array in this case.
|
||||
return sliceStruct{unsafe.Pointer(&zerobase), old.len, cap}
|
||||
}
|
||||
|
||||
newcap := old.cap
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue