Check buffer before releasing

to avoid `extending out of bound` issue in some cases
This commit is contained in:
hmol233 2021-06-14 20:40:17 +08:00
parent 1e3d739a5b
commit b977899926
No known key found for this signature in database
GPG key ID: D617A9DAB0C992D5

View file

@ -27,7 +27,7 @@ type Buffer struct {
// New creates a Buffer with 0 length and 2K capacity. // New creates a Buffer with 0 length and 2K capacity.
func New() *Buffer { func New() *Buffer {
return &Buffer{ return &Buffer{
v: pool.Get().([]byte), v: buf,
} }
} }
@ -64,7 +64,10 @@ func (b *Buffer) Release() {
p := b.v p := b.v
b.v = nil b.v = nil
b.Clear() b.Clear()
pool.Put(p)
if cap(p) >= Size {
pool.Put(p)
}
b.UDP = nil b.UDP = nil
} }