diff --git a/common/alloc/buffer.go b/common/alloc/buffer.go index 6e879db4..9ec8b28f 100644 --- a/common/alloc/buffer.go +++ b/common/alloc/buffer.go @@ -166,10 +166,14 @@ func (p *bufferPool) allocate() *Buffer { } func (p *bufferPool) free(buffer *Buffer) { + rawBuffer := buffer.head + if rawBuffer == nil { + return + } select { - case p.chain <- buffer.head: + case p.chain <- rawBuffer: default: - p.allocator.Put(buffer.head) + p.allocator.Put(rawBuffer) } }