diff options
-rw-r--r-- | core/dnsserver/server.go | 6 |
1 files changed, 6 insertions, 0 deletions
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()) |