diff options
-rw-r--r-- | manager/ipc_pipe.go | 16 |
1 files changed, 16 insertions, 0 deletions
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 } |