3781: Merge branch 'master' into 3781-browser-upload
[arvados.git] / sdk / go / keepclient / hashcheck.go
index a585d0088833d08994b3891361623b3bfeabe78e..1f696d95b64d60f69c772063be7ae5b60e671cca 100644 (file)
@@ -30,9 +30,10 @@ type HashCheckingReader struct {
 // the checksum doesn't match.
 func (this HashCheckingReader) Read(p []byte) (n int, err error) {
        n, err = this.Reader.Read(p)
-       if err == nil {
+       if n > 0 {
                this.Hash.Write(p[:n])
-       } else if err == io.EOF {
+       }
+       if err == io.EOF {
                sum := this.Hash.Sum(make([]byte, 0, this.Hash.Size()))
                if fmt.Sprintf("%x", sum) != this.Check {
                        err = BadChecksum