Revert "reader: move error check in validate"

This reverts commit 23d7fec7297ac454a93338374814f1b4b63f8cff.

When using Read, process the returned data before looking for errors. Errors happened after the returned data, so they should be processed after the data too.

Change-Id: I17f935521b76a35db5967cdb5e9b87bd0ab8a1bb
Reviewed-on: https://go-review.googlesource.com/16103
Reviewed-by: Andrew Gerrand <adg@golang.org>
diff --git a/reader/validate.go b/reader/validate.go
index 41e7fe7..5d3a2c2 100644
--- a/reader/validate.go
+++ b/reader/validate.go
@@ -15,10 +15,6 @@
 	i, o := 0, 0
 	for ; i < 1<<20 && o < 1<<20; i++ { // test 1mb
 		n, err := r.Read(b)
-		if err != nil {
-			fmt.Fprintf(os.Stderr, "read error: %v\n", err)
-			return
-		}
 		for i, v := range b[:n] {
 			if v != 'A' {
 				fmt.Fprintf(os.Stderr, "got byte %x at offset %v, want 'A'\n", v, o+i)
@@ -26,6 +22,10 @@
 			}
 		}
 		o += n
+		if err != nil {
+			fmt.Fprintf(os.Stderr, "read error: %v\n", err)
+			return
+		}
 	}
 	if o == 0 {
 		fmt.Fprintf(os.Stderr, "read zero bytes after %d Read calls\n", i)