try to delete exec fifo file when failure in creation

Signed-off-by: lifubang <lifubang@acmcoder.com>
This commit is contained in:
lifubang
2024-06-10 18:55:50 +08:00
parent 349e5ab7c1
commit e7294527e2

View File

@@ -406,7 +406,7 @@ func (c *Container) Signal(s os.Signal) error {
return nil
}
func (c *Container) createExecFifo() error {
func (c *Container) createExecFifo() (retErr error) {
rootuid, err := c.Config().HostRootUID()
if err != nil {
return err
@@ -423,6 +423,11 @@ func (c *Container) createExecFifo() error {
if err := unix.Mkfifo(fifoName, 0o622); err != nil {
return &os.PathError{Op: "mkfifo", Path: fifoName, Err: err}
}
defer func() {
if retErr != nil {
os.Remove(fifoName)
}
}()
// Ensure permission bits (can be different because of umask).
if err := os.Chmod(fifoName, 0o622); err != nil {
return err