Skip to content

Commit eb91ac0

Browse files
author
Tibor Vass
committed
build: ensure temporary folder is removed in error case
Signed-off-by: Tibor Vass <[email protected]>
1 parent d6d9840 commit eb91ac0

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

cli/command/image/build/context.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,16 @@ func DetectArchiveReader(input io.ReadCloser) (rc io.ReadCloser, isArchive bool,
100100
// WriteTempDockerfile writes a Dockerfile stream to a temporary file with a
101101
// name specified by DefaultDockerfileName and returns the path to the
102102
// temporary directory containing the Dockerfile.
103-
func WriteTempDockerfile(rc io.ReadCloser) (string, error) {
104-
dockerfileDir, err := ioutil.TempDir("", "docker-build-tempdockerfile-")
103+
func WriteTempDockerfile(rc io.ReadCloser) (dockerfileDir string, err error) {
104+
dockerfileDir, err = ioutil.TempDir("", "docker-build-tempdockerfile-")
105105
if err != nil {
106106
return "", errors.Errorf("unable to create temporary context directory: %v", err)
107107
}
108+
defer func() {
109+
if err != nil {
110+
os.RemoveAll(dockerfileDir)
111+
}
112+
}()
108113

109114
f, err := os.Create(filepath.Join(dockerfileDir, DefaultDockerfileName))
110115
if err != nil {

0 commit comments

Comments
 (0)