diff --git a/client/list_messages.go b/client/list_messages.go index 8058f5b..728e43c 100644 --- a/client/list_messages.go +++ b/client/list_messages.go @@ -70,12 +70,11 @@ func (c *IMAPClient) ListMessages(mailbox string, numMessages uint32, config Mes if config.GrabBody { for _, literal := range msg.Body { buf := bytebufferpool.Get() - defer bytebufferpool.Put(buf) - - _, err := buf.ReadFrom(literal) - if err == nil { + if _, err := buf.ReadFrom(literal); err == nil { details.Body = buf.String() } + buf.Reset() // Reset the buffer before returning it to the pool. + bytebufferpool.Put(buf) } } results = append(results, details)