Browse code

Merge pull request #6320 from LK4D4/fix_stdcopy_eof

Don't exit on eof in header reading in stdcopy

Michael Crosby authored on 2014/06/18 06:20:13
Showing 1 changed files
... ...
@@ -82,13 +82,14 @@ func StdCopy(dstout, dsterr io.Writer, src io.Reader) (written int64, err error)
82 82
 		for nr < StdWriterPrefixLen {
83 83
 			var nr2 int
84 84
 			nr2, er = src.Read(buf[nr:])
85
-			if er == io.EOF {
86
-				return written, nil
87
-			}
88
-			if er != nil {
85
+			// Don't exit on EOF, because we can have some more input
86
+			if er != nil && er != io.EOF {
89 87
 				return 0, er
90 88
 			}
91 89
 			nr += nr2
90
+			if nr == 0 {
91
+				return written, nil
92
+			}
92 93
 		}
93 94
 
94 95
 		// Check the first byte to know where to write