From 8d8da386f26482e06dc21989a6b5ade69f0a46d9 Mon Sep 17 00:00:00 2001 From: Yusef Napora <yusef@protocol.ai> Date: Thu, 16 Jan 2020 09:50:08 -0500 Subject: [PATCH] return buffer to pool before early return --- record/envelope.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/record/envelope.go b/record/envelope.go index 880fcad..6e33e15 100644 --- a/record/envelope.go +++ b/record/envelope.go @@ -59,10 +59,10 @@ func MakeEnvelope(privateKey crypto.PrivKey, domain string, payloadType []byte, seq := statelessSeqNo() unsigned, err := makeUnsigned(domain, payloadType, payload, seq) + defer pool.Put(unsigned) if err != nil { return nil, err } - defer pool.Put(unsigned) sig, err := privateKey.Sign(unsigned) if err != nil { @@ -194,10 +194,10 @@ func (e *Envelope) Equal(other *Envelope) bool { // or an error if signature validation fails. func (e *Envelope) validate(domain string) error { unsigned, err := makeUnsigned(domain, e.PayloadType, e.RawPayload, e.Seq) + defer pool.Put(unsigned) if err != nil { return err } - defer pool.Put(unsigned) valid, err := e.PublicKey.Verify(unsigned, e.signature) if err != nil {