diff options
| author | Keith Randall <khr@golang.org> | 2024-05-08 08:51:39 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2024-05-08 17:09:06 +0000 |
| commit | 93e3696b5dac778cf638a67616a4a4d521d6fce9 (patch) | |
| tree | adf08513087d5c2f8116873b4a9afa37c776b96c /src/runtime/stack.go | |
| parent | ad27916c24860576a2aec4cff6a295c340aafe3c (diff) | |
| download | go-93e3696b5dac778cf638a67616a4a4d521d6fce9.tar.xz | |
cmd/compile: avoid past-the-end pointer when zeroing
When we optimize append(s, make([]T, n)...), we have to be careful
not to pass &s[0] + len(s)*sizeof(T) as the argument to memclr, as that
pointer might be past-the-end. This can only happen if n is zero, so
just special-case n==0 in the generated code.
Fixes #67255
Change-Id: Ic680711bb8c38440eba5e759363ef65f5945658b
Reviewed-on: https://go-review.googlesource.com/c/go/+/584116
Reviewed-by: Austin Clements <austin@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
Diffstat (limited to 'src/runtime/stack.go')
0 files changed, 0 insertions, 0 deletions
