瀏覽代碼

fix a buffer leak in buffered reader

Darien Raymond 7 年之前
父節點
當前提交
0959755d21
共有 1 個文件被更改,包括 4 次插入5 次删除
  1. 4 5
      common/buf/writer.go

+ 4 - 5
common/buf/writer.go

@@ -93,6 +93,9 @@ func (w *BufferedWriter) WriteMultiBuffer(b MultiBuffer) error {
 	defer b.Release()
 
 	for !b.IsEmpty() {
+		if w.buffer == nil {
+			w.buffer = New()
+		}
 		if err := w.buffer.AppendSupplier(ReadFrom(&b)); err != nil {
 			return err
 		}
@@ -113,11 +116,7 @@ func (w *BufferedWriter) Flush() error {
 			return err
 		}
 
-		if w.buffered {
-			w.buffer = New()
-		} else {
-			w.buffer = nil
-		}
+		w.buffer = nil
 	}
 	return nil
 }