From b46775ae0c517ccc2624b10a1d13d10978d086b4 Mon Sep 17 00:00:00 2001 From: Carlo Teubner Date: Sat, 24 Jun 2023 21:23:12 +0100 Subject: [PATCH] Add some missing error checks (#2420) I found these with the 'errcheck' tool (via 'golangci-lint'). I aimed to apply reasonable judgement when deciding which errors actually need handling, and how to handle them. --- dnscrypt-proxy/config.go | 4 +++- dnscrypt-proxy/main.go | 9 +++++++-- dnscrypt-proxy/serversInfo.go | 8 ++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/dnscrypt-proxy/config.go b/dnscrypt-proxy/config.go index e9d99d5a..7f6bafa1 100644 --- a/dnscrypt-proxy/config.go +++ b/dnscrypt-proxy/config.go @@ -861,7 +861,9 @@ func (config *Config) loadSources(proxy *Proxy) error { } proxy.registeredServers = append(proxy.registeredServers, RegisteredServer{name: serverName, stamp: stamp}) } - proxy.updateRegisteredServers() + if err := proxy.updateRegisteredServers(); err != nil { + return err + } rs1 := proxy.registeredServers rs2 := proxy.serversInfo.registeredServers rand.Shuffle(len(rs1), func(i, j int) { diff --git a/dnscrypt-proxy/main.go b/dnscrypt-proxy/main.go index d5cacd5c..ef8c2bd5 100644 --- a/dnscrypt-proxy/main.go +++ b/dnscrypt-proxy/main.go @@ -27,8 +27,11 @@ type App struct { } func main() { - TimezoneSetup() + tzErr := TimezoneSetup() dlog.Init("dnscrypt-proxy", dlog.SeverityNotice, "DAEMON") + if tzErr != nil { + dlog.Errorf("Timezone setup failed: %v", tzErr) + } runtime.MemProfileRate = 0 seed := make([]byte, 8) @@ -141,7 +144,9 @@ func (app *App) AppMain() { } func (app *App) Stop(service service.Service) error { - PidFileRemove() + if err := PidFileRemove(); err != nil { + dlog.Warnf("Failed to remove the PID file: %v", err) + } dlog.Notice("Stopped.") return nil } diff --git a/dnscrypt-proxy/serversInfo.go b/dnscrypt-proxy/serversInfo.go index 16015823..503d4330 100644 --- a/dnscrypt-proxy/serversInfo.go +++ b/dnscrypt-proxy/serversInfo.go @@ -615,7 +615,9 @@ func dohTestPacket(msgID uint16) []byte { msg.SetEdns0(uint16(MaxDNSPacketSize), false) ext := new(dns.EDNS0_PADDING) ext.Padding = make([]byte, 16) - crypto_rand.Read(ext.Padding) + if _, err := crypto_rand.Read(ext.Padding); err != nil { + dlog.Fatal(err) + } edns0 := msg.IsEdns0() edns0.Option = append(edns0.Option, ext) body, err := msg.Pack() @@ -638,7 +640,9 @@ func dohNXTestPacket(msgID uint16) []byte { msg.SetEdns0(uint16(MaxDNSPacketSize), false) ext := new(dns.EDNS0_PADDING) ext.Padding = make([]byte, 16) - crypto_rand.Read(ext.Padding) + if _, err := crypto_rand.Read(ext.Padding); err != nil { + dlog.Fatal(err) + } edns0 := msg.IsEdns0() edns0.Option = append(edns0.Option, ext) body, err := msg.Pack()