From 3c1722cf30d1edc6756022c7a12efffabcfb098a Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Thu, 18 Jun 2020 12:51:35 -0700 Subject: [release-branch.go1.13] reflect: zero stack slots before writing to them with write barriers reflect.assignTo writes to the target using write barriers. Make sure that the memory it is writing to is zeroed, so the write barrier does not read pointers from uninitialized memory. Fixes #39697 Change-Id: Ia64b2cacc193bffd0c1396bbce1dfb8182d4905b Reviewed-on: https://go-review.googlesource.com/c/go/+/238760 Run-TryBot: Keith Randall TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor (cherry picked from commit 3dec253783e1211989102ac6abd34cddbf8ba0e6) Reviewed-on: https://go-review.googlesource.com/c/go/+/238862 Reviewed-by: Emmanuel Odeke --- src/runtime/stack.go | 1 + 1 file changed, 1 insertion(+) (limited to 'src/runtime/stack.go') diff --git a/src/runtime/stack.go b/src/runtime/stack.go index 7ae3eeef83..39876e2cc7 100644 --- a/src/runtime/stack.go +++ b/src/runtime/stack.go @@ -543,6 +543,7 @@ func adjustpointer(adjinfo *adjustinfo, vpp unsafe.Pointer) { } // Information from the compiler about the layout of stack frames. +// Note: this type must agree with reflect.bitVector. type bitvector struct { n int32 // # of bits bytedata *uint8 -- cgit v1.3