From a30dd9ceeb2fb2361cd5a4ae623258ec0a96c517 Mon Sep 17 00:00:00 2001 From: Marcel van Lohuizen Date: Fri, 28 Aug 2015 10:17:05 +0200 Subject: encoding/json: check for exported fields in embedded structs Addresses issue #12367. Must be checked in before CL 14010. Change-Id: I7233c3a62d4f55d0ac7e8a87df5fc4ee7beb7207 Reviewed-on: https://go-review.googlesource.com/14011 Reviewed-by: Russ Cox --- src/encoding/json/encode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/encoding/json/encode.go') diff --git a/src/encoding/json/encode.go b/src/encoding/json/encode.go index 60d1c9011b..6af2fabeb4 100644 --- a/src/encoding/json/encode.go +++ b/src/encoding/json/encode.go @@ -1021,7 +1021,7 @@ func typeFields(t reflect.Type) []field { // Scan f.typ for fields to include. for i := 0; i < f.typ.NumField(); i++ { sf := f.typ.Field(i) - if sf.PkgPath != "" { // unexported + if sf.PkgPath != "" && !sf.Anonymous { // unexported continue } tag := sf.Tag.Get("json") -- cgit v1.3