aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLeon Klingele <git@leonklingele.de>2019-01-30 17:34:43 +0000
committerBryan C. Mills <bcmills@google.com>2019-03-02 05:04:49 +0000
commitd346a9b7725b5313ddda3913cbcd5ff5fba0c909 (patch)
tree664a3d25316712f0a5df93c5e1ee33f3b6e2b74d /src
parentacf8f2c1545b4ce2459a48fac32340bad7e8c692 (diff)
downloadgo-d346a9b7725b5313ddda3913cbcd5ff5fba0c909.tar.xz
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 <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/internal/modfetch/coderepo.go3
-rw-r--r--src/cmd/go/internal/modfetch/pseudo.go3
-rw-r--r--src/cmd/go/internal/modfetch/pseudo_test.go7
3 files changed, 13 insertions, 0 deletions
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)