diff options
author | Russ Cox <rsc@golang.org> | 2014-10-01 16:51:32 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-10-01 16:51:32 -0400 |
commit | 4cdb5665c71cab400c38adcaf3297418cabf44d9 (patch) | |
tree | 03c507a6192cfbf1e3e1d9100e4c45623a313ccf /src/reflect/value.go | |
parent | 1b379b71a66f387ea1482f24b0fa535f6606433d (diff) | |
download | go-4cdb5665c71cab400c38adcaf3297418cabf44d9.tar.gz |
reflect: fix IsValid vs Kind mismatch after Elem of nil interface
LGTM=r
R=r
CC=golang-codereviews
https://codereview.appspot.com/151960044
Diffstat (limited to 'src/reflect/value.go')
-rw-r--r-- | src/reflect/value.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/reflect/value.go b/src/reflect/value.go index 12d423f3c..9c65ee270 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -791,7 +791,9 @@ func (v Value) Elem() Value { })(v.ptr)) } x := unpackEface(eface) - x.flag |= v.flag & flagRO + if x.flag != 0 { + x.flag |= v.flag & flagRO + } return x case Ptr: ptr := v.ptr |