From 2265108384aa8e89aa9a961ae98bc8f02736a668 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Mon, 23 Nov 2020 10:30:56 +0100 Subject: manager: cleanup pipes on failure Signed-off-by: Jason A. Donenfeld --- manager/ipc_pipe.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'manager/ipc_pipe.go') diff --git a/manager/ipc_pipe.go b/manager/ipc_pipe.go index d07cf719..f2779d62 100644 --- a/manager/ipc_pipe.go +++ b/manager/ipc_pipe.go @@ -33,6 +33,11 @@ func inheritableEvents() (ourEvents *os.File, theirEvents *os.File, theirEventSt return } theirEventStr, err = makeInheritableAndGetStr(theirEvents) + if err != nil { + theirEvents.Close() + ourEvents.Close() + return + } return } @@ -43,13 +48,24 @@ func inheritableSocketpairEmulation() (ourReader *os.File, theirReader *os.File, } theirWriterStr, err = makeInheritableAndGetStr(theirWriter) if err != nil { + ourReader.Close() + theirWriter.Close() return } theirReader, ourWriter, err = os.Pipe() if err != nil { + ourReader.Close() + theirWriter.Close() return } theirReaderStr, err = makeInheritableAndGetStr(theirReader) + if err != nil { + ourReader.Close() + theirWriter.Close() + theirReader.Close() + ourWriter.Close() + return + } return } -- cgit v1.2.3-59-g8ed1b