diff --git a/internal/dns/dns.go b/internal/dns/dns.go index 3f461d7..89e5529 100644 --- a/internal/dns/dns.go +++ b/internal/dns/dns.go @@ -547,7 +547,7 @@ func (s *Server) handleRequest(w dns.ResponseWriter, r *dns.Msg) { if len(in.Answer) > 1 { if in.Answer[0].Header().Rrtype == dns.TypeCNAME { for _, rr := range in.Answer { - if rr.Header().Rrtype == dns.TypeA { + if rr != nil && rr.Header() != nil && rr.Header().Rrtype == dns.TypeA { if newRR, err := s.resolveSubname("", dns.Question{strings.ToLower(rr.Header().Name), dns.TypeA, dns.ClassINET}); err == nil { in.Answer[len(in.Answer)-1] = newRR }