Skip to content

Commit ab010ae

Browse files
authored
Merge pull request #4319 from lifubang/fix-execfifo-delete-error
Try to delete exec fifo file when failure in creation
2 parents 213fefd + e729452 commit ab010ae

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

libcontainer/container_linux.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ func (c *Container) Signal(s os.Signal) error {
411411
return nil
412412
}
413413

414-
func (c *Container) createExecFifo() error {
414+
func (c *Container) createExecFifo() (retErr error) {
415415
rootuid, err := c.Config().HostRootUID()
416416
if err != nil {
417417
return err
@@ -425,6 +425,11 @@ func (c *Container) createExecFifo() error {
425425
if err := unix.Mkfifo(fifoName, 0o622); err != nil {
426426
return &os.PathError{Op: "mkfifo", Path: fifoName, Err: err}
427427
}
428+
defer func() {
429+
if retErr != nil {
430+
os.Remove(fifoName)
431+
}
432+
}()
428433
// Ensure permission bits (can be different because of umask).
429434
if err := os.Chmod(fifoName, 0o622); err != nil {
430435
return err

0 commit comments

Comments
 (0)