diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-11-11 07:18:43 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-11-11 07:31:58 +0900 |
| commit | 9dec9dbc4bbd09a59cf35f4000d26794b42edcfc (patch) | |
| tree | 760bbf0d62666b590a6ee45324685adac358de32 /container/init.go | |
| parent | 2f74adc8bdeda2499be0a8b2711f68c342695bf2 (diff) | |
container/init: close setup pipe early
This prevents leaking the setup pipe.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'container/init.go')
| -rw-r--r-- | container/init.go | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/container/init.go b/container/init.go index 592ef302..fa220f25 100644 --- a/container/init.go +++ b/container/init.go @@ -330,6 +330,10 @@ func initEntrypoint(k syscallDispatcher, msg message.Msg) { } k.umask(oldmask) + if err := closeSetup(); err != nil { + k.fatalf(msg, "cannot close setup pipe: %v", err) + } + cmd := exec.Command(params.Path.String()) cmd.Stdin, cmd.Stdout, cmd.Stderr = os.Stdin, os.Stdout, os.Stderr cmd.Args = params.Args @@ -342,11 +346,6 @@ func initEntrypoint(k syscallDispatcher, msg message.Msg) { k.fatalf(msg, "%v", err) } - if err := closeSetup(); err != nil { - k.printf(msg, "cannot close setup pipe: %v", err) - // not fatal - } - type winfo struct { wpid int wstatus WaitStatus |
