From 07f4e6bf4e1ea28690db0903fe6037c99755bfd6 Mon Sep 17 00:00:00 2001 From: Yongzheng Lai Date: Sat, 6 May 2017 04:23:47 +0800 Subject: [PATCH] Reset proto before unmarshalling (#1222) --- codec.go | 1 + 1 file changed, 1 insertion(+) diff --git a/codec.go b/codec.go index bd76ebb7..001804d3 100644 --- a/codec.go +++ b/codec.go @@ -96,6 +96,7 @@ func (p protoCodec) Marshal(v interface{}) ([]byte, error) { func (p protoCodec) Unmarshal(data []byte, v interface{}) error { cb := protoBufferPool.Get().(*cachedProtoBuffer) cb.SetBuf(data) + v.(proto.Message).Reset() err := cb.Unmarshal(v.(proto.Message)) cb.SetBuf(nil) protoBufferPool.Put(cb)