|
@@ -484,7 +484,7 @@ func (r *resolver) ServeDNS(w dns.ResponseWriter, query *dns.Msg) {
|
|
resp, err = co.ReadMsg()
|
|
resp, err = co.ReadMsg()
|
|
// Truncated DNS replies should be sent to the client so that the
|
|
// Truncated DNS replies should be sent to the client so that the
|
|
// client can retry over TCP
|
|
// client can retry over TCP
|
|
- if err != nil && !resp.Truncated {
|
|
|
|
|
|
+ if err != nil && (resp != nil && !resp.Truncated) {
|
|
r.forwardQueryEnd()
|
|
r.forwardQueryEnd()
|
|
logrus.Debugf("[resolver] read from DNS server failed, %s", err)
|
|
logrus.Debugf("[resolver] read from DNS server failed, %s", err)
|
|
continue
|
|
continue
|