From: Cherry Zhang Date: Tue, 5 May 2020 17:12:01 +0000 (-0400) Subject: cmd/compile: use ReadFull to read fingerprint X-Git-Tag: go1.15beta1~228 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8627b4c9b50138c75cc7730af7f8db692d33451e;p=gostls13.git cmd/compile: use ReadFull to read fingerprint Don't fail on partial read. May fix #38849. Change-Id: Icf075d454e1bfe9299b07eea47bbc4d448c3bd5e Reviewed-on: https://go-review.googlesource.com/c/go/+/232317 Run-TryBot: Cherry Zhang TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/compile/internal/gc/iimport.go b/src/cmd/compile/internal/gc/iimport.go index f3e65ff736..104b5fb79a 100644 --- a/src/cmd/compile/internal/gc/iimport.go +++ b/src/cmd/compile/internal/gc/iimport.go @@ -15,6 +15,7 @@ import ( "cmd/internal/src" "encoding/binary" "fmt" + "io" "math/big" "os" "strings" @@ -191,7 +192,7 @@ func iimport(pkg *types.Pkg, in *bio.Reader) (fingerprint goobj2.FingerprintType } // Fingerprint - n, err := in.Read(fingerprint[:]) + n, err := io.ReadFull(in, fingerprint[:]) if err != nil || n != len(fingerprint) { yyerror("import %s: error reading fingerprint", pkg.Path) errorexit()