From deeb0dfbf0fabbc063a290c4b0359f763c64345b Mon Sep 17 00:00:00 2001 From: eleksir Date: Tue, 31 Mar 2026 00:27:18 +0300 Subject: [PATCH] Formally check open() result for /dev/null --- internal/lib/spawn.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/internal/lib/spawn.go b/internal/lib/spawn.go index 8f996e5..df4160e 100644 --- a/internal/lib/spawn.go +++ b/internal/lib/spawn.go @@ -15,8 +15,19 @@ func (c *MyConfig) Spawner() { for prg := range c.Channels.RunChan { <-time.After(25 * time.Millisecond) - devnullR, _ := os.Open(os.DevNull) - devnullW, _ := os.OpenFile(os.DevNull, os.O_WRONLY|os.O_APPEND, 0644) + devnullR, err := os.Open(os.DevNull) + if err != nil { + log.Printf("Unable to open /dev/null for reading: %s", err) + continue + } + defer devnullR.Close() + + devnullW, err := os.OpenFile(os.DevNull, os.O_WRONLY|os.O_APPEND, 0644) + if err != nil { + log.Printf("Unable to open /dev/null for writing: %s", err) + continue + } + defer devnullW.Close() spa := syscall.SysProcAttr{ Setsid: true,