From 4f7f5404cea5211c69114ffcd79931edf44b6b99 Mon Sep 17 00:00:00 2001 From: Garrett Squire Date: Sat, 4 Jul 2020 02:51:37 -0700 Subject: [PATCH] build: fix file handle leak in GitHub release tool This is a small patch to remove a defer statement found in a for loop. It instead closes the file after it is done copying the bytes from the tar file reader. --- bin/get-github-release.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/bin/get-github-release.go b/bin/get-github-release.go index 5f37da18c..2d024f41d 100644 --- a/bin/get-github-release.go +++ b/bin/get-github-release.go @@ -374,16 +374,13 @@ func untar(srcFile, fileName, extractDir string) { if err != nil { log.Fatalf("Couldn't open output file: %v", err) } - defer func() { - err := out.Close() - if err != nil { - log.Fatalf("Couldn't close output: %v", err) - } - }() n, err := io.Copy(out, tarReader) if err != nil { log.Fatalf("Couldn't write output file: %v", err) } + if err = out.Close(); err != nil { + log.Fatalf("Couldn't close output: %v", err) + } log.Printf("Wrote %s (%d bytes) as %q", fileName, n, outPath) } }