Reset proto before unmarshalling (#1222)

diff --git a/codec.go b/codec.go
index bd76ebb..001804d 100644
--- a/codec.go
+++ b/codec.go
@@ -96,6 +96,7 @@
 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)