Merge pull request #40009 from yedamao/fix-pkg-pool

Fix pkg/pools staticcheck SA6002
This commit is contained in:
Tibor Vass 2019-09-30 11:11:53 -07:00 committed by GitHub
commit 0f9c4fa00b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 6 deletions

View File

@ -62,24 +62,23 @@ type bufferPool struct {
func newBufferPoolWithSize(size int) *bufferPool {
return &bufferPool{
pool: sync.Pool{
New: func() interface{} { return make([]byte, size) },
New: func() interface{} { s := make([]byte, size); return &s },
},
}
}
func (bp *bufferPool) Get() []byte {
return bp.pool.Get().([]byte)
func (bp *bufferPool) Get() *[]byte {
return bp.pool.Get().(*[]byte)
}
func (bp *bufferPool) Put(b []byte) {
//nolint:staticcheck // TODO changing this to a pointer makes tests fail. Investigate if we should change or not (otherwise remove this TODO)
func (bp *bufferPool) Put(b *[]byte) {
bp.pool.Put(b)
}
// Copy is a convenience wrapper which uses a buffer to avoid allocation in io.Copy.
func Copy(dst io.Writer, src io.Reader) (written int64, err error) {
buf := buffer32KPool.Get()
written, err = io.CopyBuffer(dst, src, buf)
written, err = io.CopyBuffer(dst, src, *buf)
buffer32KPool.Put(buf)
return
}