]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: update goSum if necessary
authorIan Alexander <jitsu@google.com>
Fri, 12 Sep 2025 22:00:02 +0000 (18:00 -0400)
committerIan Alexander <jitsu@google.com>
Sat, 8 Nov 2025 12:26:29 +0000 (04:26 -0800)
During investigation into #74691, we found a case where the hash was
missing from the goSum global var.  This change updates DownloadZip to
update the goSum hash if necessary when both the zipfile and
ziphashfile are already present.

For #74691

Change-Id: I904b7265f667256d0c60b66503a7954b467c6454
Reviewed-on: https://go-review.googlesource.com/c/go/+/705215
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Michael Matloob <matloob@google.com>
src/cmd/go/internal/modfetch/fetch.go

index 5d310ccbba90fa402d29b18db5d4fc93f4856dbe..9e8d3639a9e423240c8678d1a3294463366bd910 100644 (file)
@@ -214,9 +214,12 @@ func DownloadZip(ctx context.Context, mod module.Version) (zipfile string, err e
                }
                ziphashfile := zipfile + "hash"
 
-               // Return without locking if the zip and ziphash files exist.
+               // Return early if the zip and ziphash files exist.
                if _, err := os.Stat(zipfile); err == nil {
                        if _, err := os.Stat(ziphashfile); err == nil {
+                               if !HaveSum(mod) {
+                                       checkMod(ctx, mod)
+                               }
                                return zipfile, nil
                        }
                }