Close pipe in chrootarchive.invokeUnpack when cmd.Start()/json.NewEncoder failed.

Signed-off-by: y00316549 <yangshukui@huawei.com>
This commit is contained in:
y00316549 2017-11-24 13:41:08 +08:00
parent dfe2c023a3
commit f5f8f00860
1 changed files with 2 additions and 0 deletions

View File

@ -66,10 +66,12 @@ func invokeUnpack(decompressedArchive io.Reader, dest string, options *archive.T
cmd.Stderr = output
if err := cmd.Start(); err != nil {
w.Close()
return fmt.Errorf("Untar error on re-exec cmd: %v", err)
}
//write the options to the pipe for the untar exec to read
if err := json.NewEncoder(w).Encode(options); err != nil {
w.Close()
return fmt.Errorf("Untar json encode to pipe failed: %v", err)
}
w.Close()