From: Keith Randall Date: Tue, 3 Dec 2013 00:54:29 +0000 (-0800) Subject: reflect: fix Zero() implementation - not every type has a X-Git-Tag: go1.3beta1~1322 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e7d899cba5613948deee6dce91ab21f6eaa6404f;p=gostls13.git reflect: fix Zero() implementation - not every type has a zero object allocated, so we still need to allocate a new zero area every time. Fixes #6876. R=golang-dev CC=golang-dev https://golang.org/cl/36320043 --- diff --git a/src/pkg/reflect/value.go b/src/pkg/reflect/value.go index 7e709e6207..7764ffade2 100644 --- a/src/pkg/reflect/value.go +++ b/src/pkg/reflect/value.go @@ -2175,7 +2175,7 @@ func Zero(typ Type) Value { if t.size <= ptrSize { return Value{t, nil, fl} } - return Value{t, t.zero, fl | flagIndir} + return Value{t, unsafe_New(typ.(*rtype)), fl | flagIndir} } // New returns a Value representing a pointer to a new zero value