concourse / concourse

Unsafe defer of .Close method GO-S2307
Security
Major
6 occurrences in this check
Deferring unsafe method "Close" on type "*os.File"
76		if err != nil {
77			return err
78		}
79		defer fileCopy.Close()80
81		_, err = io.Copy(fileCopy, input)
82		if err != nil {
Deferring unsafe method "Close" on type "io.ReadCloser"
35				if err != nil {
36					return err
37				}
38				defer readCloser.Close()39
40				return extractZipArchiveFile(file, dest, readCloser)
41			}()
Deferring unsafe method "Close" on type "*os.File"
 92			return err
 93		}
 94
 95		defer file.Close() 96
 97		_, err = io.Copy(tw, file)
 98		if err != nil {
Deferring unsafe method "Close" on type "*os.File"
 33
 34		innerFile, err := os.Create(filepath.Join(dir, "outer-dir", "inner-dir", "some-file"))
 35		Expect(err).NotTo(HaveOccurred())
 36		defer innerFile.Close() 37
 38		_, err = innerFile.Write([]byte("sup"))
 39		Expect(err).NotTo(HaveOccurred())
Deferring unsafe method "Close" on type "*os.File"
 88			return err
 89		}
 90
 91		defer file.Close() 92
 93		_, err = io.Copy(tw, file)
 94		if err != nil {
Deferring unsafe method "Close" on type "*os.File"
 59		return "", err
 60	}
 61
 62	defer zipFile.Close() 63
 64	err = files.WriteZip(zipFile)
 65	if err != nil {