diff --git a/common/net/transport.go b/common/net/transport.go index 98e2ab5e5..5f334eff2 100644 --- a/common/net/transport.go +++ b/common/net/transport.go @@ -33,7 +33,10 @@ func ReaderToChan(stream chan<- *alloc.Buffer, reader io.Reader) error { // ChanToWriter dumps all content from a given chan to a writer until the chan is closed. func ChanToWriter(writer io.Writer, stream <-chan *alloc.Buffer) error { for buffer := range stream { - _, err := writer.Write(buffer.Value) + nBytes, err := writer.Write(buffer.Value) + if nBytes < buffer.Len() { + _, err = writer.Write(buffer.Value[nBytes:]) + } buffer.Release() if err != nil { return err