From c72084187c42a526e4b754741c392a38733ceec2 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Thu, 31 Aug 2017 08:20:13 +0200 Subject: [PATCH] core: add nil check (#1005) Check if msg is nil in DefaultErrorFunc. If this is the case log this and short cut the function. Hoping to get more insight in #925 --- core/dnsserver/server.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/dnsserver/server.go b/core/dnsserver/server.go index 3f01cac5f..8e2f0ba76 100644 --- a/core/dnsserver/server.go +++ b/core/dnsserver/server.go @@ -289,6 +289,12 @@ func DefaultErrorFunc(w dns.ResponseWriter, r *dns.Msg, rc int) { answer := new(dns.Msg) answer.SetRcode(r, rc) + if r == nil { + log.Printf("[WARNING] DefaultErrorFunc called with nil *dns.Msg (Remote: %s)", w.RemoteAddr().String()) + w.WriteMsg(answer) + return + } + state.SizeAndDo(answer) vars.Report(state, vars.Dropped, rcode.ToString(rc), answer.Len(), time.Now())