diff --git a/heffalump/heffalump.go b/heffalump/heffalump.go index 298e5a9..4e7ce3b 100644 --- a/heffalump/heffalump.go +++ b/heffalump/heffalump.go @@ -48,14 +48,16 @@ func (h *Heffalump) WriteHell(bw *bufio.Writer) (int64, error) { }() buf := h.pool.Get().([]byte) - defer h.pool.Put(buf) if _, err = bw.WriteString("\n\n"); err != nil { + h.pool.Put(buf) return n, err } if n, err = io.CopyBuffer(bw, h.mm, buf); err != nil { + h.pool.Put(buf) return n, nil } + h.pool.Put(buf) return n, nil }