]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go/internal/modfetch: add missing error checks
authorLeon Klingele <git@leonklingele.de>
Wed, 30 Jan 2019 17:34:43 +0000 (17:34 +0000)
committerBryan C. Mills <bcmills@google.com>
Sat, 2 Mar 2019 05:04:49 +0000 (05:04 +0000)
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>

src/cmd/go/internal/modfetch/coderepo.go
src/cmd/go/internal/modfetch/pseudo.go
src/cmd/go/internal/modfetch/pseudo_test.go

index 5018b6d8af7c7f7f7d4690277ac572f4649d3965..54baaaa909b1ba35bc4fa1797a731326e6c8dae6 100644 (file)
@@ -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
index f105373cd4287b8d4a993e3b8cbd132d8fa69705..88c3d3a527e8742405d2548f4fb252c4169629e9 100644 (file)
@@ -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)
index 3c2fa5146890eaa3e59d2fbbabbb4109706a1d44..d0e800b450ac51ac7b8dcf5f04895e3120a39eab 100644 (file)
@@ -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)