aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/init.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-11-11 07:18:43 +0900
committerOphestra <cat@gensokyo.uk>2025-11-11 07:31:58 +0900
commit9dec9dbc4bbd09a59cf35f4000d26794b42edcfc (patch)
tree760bbf0d62666b590a6ee45324685adac358de32 /container/init.go
parent2f74adc8bdeda2499be0a8b2711f68c342695bf2 (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.go9
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