Close pipe in chrootarchive.invokeUnpack when cmd.Start()/json.NewEncoder failed.
Signed-off-by: y00316549 <yangshukui@huawei.com>
This commit is contained in:
parent
dfe2c023a3
commit
f5f8f00860
|
@ -66,10 +66,12 @@ func invokeUnpack(decompressedArchive io.Reader, dest string, options *archive.T
|
||||||
cmd.Stderr = output
|
cmd.Stderr = output
|
||||||
|
|
||||||
if err := cmd.Start(); err != nil {
|
if err := cmd.Start(); err != nil {
|
||||||
|
w.Close()
|
||||||
return fmt.Errorf("Untar error on re-exec cmd: %v", err)
|
return fmt.Errorf("Untar error on re-exec cmd: %v", err)
|
||||||
}
|
}
|
||||||
//write the options to the pipe for the untar exec to read
|
//write the options to the pipe for the untar exec to read
|
||||||
if err := json.NewEncoder(w).Encode(options); err != nil {
|
if err := json.NewEncoder(w).Encode(options); err != nil {
|
||||||
|
w.Close()
|
||||||
return fmt.Errorf("Untar json encode to pipe failed: %v", err)
|
return fmt.Errorf("Untar json encode to pipe failed: %v", err)
|
||||||
}
|
}
|
||||||
w.Close()
|
w.Close()
|
||||||
|
|
Loading…
Reference in New Issue