From 8627b4c9b50138c75cc7730af7f8db692d33451e Mon Sep 17 00:00:00 2001 From: Cherry Zhang Date: Tue, 5 May 2020 13:12:01 -0400 Subject: [PATCH] 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 --- src/cmd/compile/internal/gc/iimport.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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() -- 2.50.0