summaryrefslogtreecommitdiff
path: root/internal/resolver/resolver.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/resolver/resolver.go')
-rw-r--r--internal/resolver/resolver.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/resolver/resolver.go b/internal/resolver/resolver.go
index c7a0694..3cdf846 100644
--- a/internal/resolver/resolver.go
+++ b/internal/resolver/resolver.go
@@ -11,8 +11,9 @@ import (
)
var (
- ErrMaxDelegations = errors.New("max delegations exceeded")
- ErrNoServers = errors.New("no nameservers available")
+ ErrMaxDelegations = errors.New("max delegations exceeded")
+ ErrNoServers = errors.New("no nameservers available")
+ ErrUnsupportedType = errors.New("unsupported query type")
)
type Resolver struct {
@@ -251,6 +252,9 @@ func (r *Resolver) exchangeWithRetries(ctx context.Context, servers []string,
qname string, qtype uint16, rd bool) (*dns.Msg, error) {
msg := dns.NewMsg(qname, qtype)
+ if msg == nil {
+ return nil, fmt.Errorf("%w %d for %s", ErrUnsupportedType, qtype, qname)
+ }
msg.UDPSize = 4096
msg.RecursionDesired = rd