Kaynağa Gözat

release buffer if payload becomes small

Darien Raymond 7 yıl önce
ebeveyn
işleme
b2d9364cb5
1 değiştirilmiş dosya ile 3 ekleme ve 0 silme
  1. 3 0
      common/buf/reader.go

+ 3 - 0
common/buf/reader.go

@@ -47,6 +47,9 @@ func (r *BytesToBufferReader) ReadMultiBuffer() (MultiBuffer, error) {
 		if nBytes == len(r.buffer) && nBytes < xlSize {
 			freeBytes(r.buffer)
 			r.buffer = newBytes(uint32(nBytes) + 1)
+		} else if nBytes < Size {
+			freeBytes(r.buffer)
+			r.buffer = nil
 		}
 		return mb, nil
 	}