소스 검색

release buffer if payload becomes small

Darien Raymond 7 년 전
부모
커밋
b2d9364cb5
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  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
 	}