From d346a9b7725b5313ddda3913cbcd5ff5fba0c909 Mon Sep 17 00:00:00 2001 From: Leon Klingele Date: Wed, 30 Jan 2019 17:34:43 +0000 Subject: [PATCH] cmd/go/internal/modfetch: add missing error checks Change-Id: I51a9c06384875fbb12db0e05128f23bd23a163a1 GitHub-Last-Rev: 126452f15cbb8e06ff683dcd60e63f1925dcf8f1 GitHub-Pull-Request: golang/go#30000 Reviewed-on: https://go-review.googlesource.com/c/160424 Reviewed-by: Bryan C. Mills Run-TryBot: Bryan C. Mills TryBot-Result: Gobot Gobot --- src/cmd/go/internal/modfetch/coderepo.go | 3 +++ src/cmd/go/internal/modfetch/pseudo.go | 3 +++ src/cmd/go/internal/modfetch/pseudo_test.go | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/src/cmd/go/internal/modfetch/coderepo.go b/src/cmd/go/internal/modfetch/coderepo.go index 5018b6d8af..54baaaa909 100644 --- a/src/cmd/go/internal/modfetch/coderepo.go +++ b/src/cmd/go/internal/modfetch/coderepo.go @@ -541,6 +541,9 @@ func (r *codeRepo) Zip(dst io.Writer, version string) error { return err } w, err := zw.Create(r.modPrefix(version) + "/" + name) + if err != nil { + return err + } lr := &io.LimitedReader{R: rc, N: size + 1} if _, err := io.Copy(w, lr); err != nil { return err diff --git a/src/cmd/go/internal/modfetch/pseudo.go b/src/cmd/go/internal/modfetch/pseudo.go index f105373cd4..88c3d3a527 100644 --- a/src/cmd/go/internal/modfetch/pseudo.go +++ b/src/cmd/go/internal/modfetch/pseudo.go @@ -98,6 +98,9 @@ func IsPseudoVersion(v string) bool { // embedded in the pseudo-version is not a valid time. func PseudoVersionTime(v string) (time.Time, error) { timestamp, _, err := parsePseudoVersion(v) + if err != nil { + return time.Time{}, err + } t, err := time.Parse("20060102150405", timestamp) if err != nil { return time.Time{}, fmt.Errorf("pseudo-version with malformed time %s: %q", timestamp, v) diff --git a/src/cmd/go/internal/modfetch/pseudo_test.go b/src/cmd/go/internal/modfetch/pseudo_test.go index 3c2fa51468..d0e800b450 100644 --- a/src/cmd/go/internal/modfetch/pseudo_test.go +++ b/src/cmd/go/internal/modfetch/pseudo_test.go @@ -60,6 +60,13 @@ func TestPseudoVersionTime(t *testing.T) { } } +func TestInvalidPseudoVersionTime(t *testing.T) { + const v = "---" + if _, err := PseudoVersionTime(v); err == nil { + t.Error("expected error, got nil instead") + } +} + func TestPseudoVersionRev(t *testing.T) { for _, tt := range pseudoTests { rev, err := PseudoVersionRev(tt.version) -- 2.50.0