]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use ReadFull to read fingerprint
authorCherry Zhang <cherryyz@google.com>
Tue, 5 May 2020 17:12:01 +0000 (13:12 -0400)
committerCherry Zhang <cherryyz@google.com>
Tue, 5 May 2020 18:32:35 +0000 (18:32 +0000)
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 <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/iimport.go

index f3e65ff7365faf7c23fb8bdad74f482d49fc3f47..104b5fb79af64c3c905e6a2054bd5ad8b1c9ccbf 100644 (file)
@@ -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()