concourse / concourse

Unsafe defer of .Close method GO-S2307
Security
Major
8 occurrences in this check
Deferring unsafe method "Close" on type "*os.File"
 64		return err
 65	}
 66
 67	defer dirFd.Close() 68
 69	zstdCompressor, err := zstd.NewWriter(tzstOutput)
 70	if err != nil {
Deferring unsafe method "Close" on type "*os.File"
 16		return false, err
 17	}
 18
 19	defer dirFd.Close() 20
 21	zstdDecompressedStream, err := zstd.NewReader(tzstInput)
 22	if err != nil {
Deferring unsafe method "Close" on type "*os.File"
 64		return err
 65	}
 66
 67	defer dirFd.Close() 68
 69	zstdCompressor, err := zstd.NewWriter(tzstOutput)
 70	if err != nil {
Deferring unsafe method "Close" on type "*os.File"
 98		return false, err
 99	}
100
101	defer dirFd.Close()102
103	tarCommand.Stdin = tgzStream
104	tarCommand.Stdout = os.Stderr
Deferring unsafe method "Close" on type "*os.File"
141		return err
142	}
143
144	defer dirFd.Close()145
146	tarCommand.Stdout = w
147	tarCommand.Stderr = os.Stderr
Deferring unsafe method "Close" on type "*os.File"
 16		return false, err
 17	}
 18
 19	defer dirFd.Close() 20
 21	zstdDecompressedStream, err := zstd.NewReader(tzstInput)
 22	if err != nil {
Deferring unsafe method "Close" on type "*os.File"
141		return err
142	}
143
144	defer dirFd.Close()145
146	tarCommand.Stdout = w
147	tarCommand.Stderr = os.Stderr
Deferring unsafe method "Close" on type "*os.File"
 98		return false, err
 99	}
100
101	defer dirFd.Close()102
103	tarCommand.Stdin = tgzStream
104	tarCommand.Stdout = os.Stderr