diff options
Diffstat (limited to 'vendor/github.com/golang/protobuf/proto/table_unmarshal.go')
-rw-r--r-- | vendor/github.com/golang/protobuf/proto/table_unmarshal.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go index de868ae..ebf1caa 100644 --- a/vendor/github.com/golang/protobuf/proto/table_unmarshal.go +++ b/vendor/github.com/golang/protobuf/proto/table_unmarshal.go @@ -175,10 +175,12 @@ func (u *unmarshalInfo) unmarshal(m pointer, b []byte) error { reqMask |= f.reqMask continue } - if r, ok := err.(*RequiredNotSetError); ok && errLater == nil { + if r, ok := err.(*RequiredNotSetError); ok { // Remember this error, but keep parsing. We need to produce // a full parse even if a required field is missing. - errLater = r + if errLater == nil { + errLater = r + } reqMask |= f.reqMask continue } |