diff options
author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-10-21 23:35:05 +0700 |
---|---|---|
committer | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-10-22 00:56:18 +0000 |
commit | 23e57e59556f42d6935b65be63b59a8b0fc0e6ad (patch) | |
tree | 52f1b45f20b88d94c8a47acd2def93cd458da042 /src/reflect/all_test.go | |
parent | 3beab0cd71e9e4fedba13d762ed35db04851f1be (diff) | |
download | go-23e57e59556f42d6935b65be63b59a8b0fc0e6ad.tar.gz go-23e57e59556f42d6935b65be63b59a8b0fc0e6ad.zip |
reflect: make Value.Pointer panic on bad notinheap pointers
Same as CL 350153 did for Value.Elem to panic on bad notinheap pointers.
While at it, also add more tests for notinheap deref.
Change-Id: Id7d9d12ad8467de5926b6a7e8f9d659fea5fedb5
Reviewed-on: https://go-review.googlesource.com/c/go/+/357630
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/reflect/all_test.go')
-rw-r--r-- | src/reflect/all_test.go | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/reflect/all_test.go b/src/reflect/all_test.go index fcd0e15f0a..922998125b 100644 --- a/src/reflect/all_test.go +++ b/src/reflect/all_test.go @@ -7721,6 +7721,8 @@ func TestNotInHeapDeref(t *testing.T) { v = ValueOf((*nih)(unsafe.Pointer(new(int)))) shouldPanic("reflect: reflect.Value.Elem on an invalid notinheap pointer", func() { v.Elem() }) + shouldPanic("reflect: reflect.Value.Pointer on an invalid notinheap pointer", func() { v.Pointer() }) + shouldPanic("reflect: reflect.Value.UnsafePointer on an invalid notinheap pointer", func() { v.UnsafePointer() }) } func TestMethodCallValueCodePtr(t *testing.T) { |