Skip to content

Commit 649a3d7

Browse files
authored
fix: guard against nil responses (#243)
Signed-off-by: Chris Gianelloni <[email protected]>
1 parent 83aae89 commit 649a3d7

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

internal/dns/dns.go

+6
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@ func stateRecordToDnsRR(record state.DomainRecord) (dns.RR, error) {
297297
}
298298

299299
func copyResponse(req *dns.Msg, srcResp *dns.Msg, destResp *dns.Msg) {
300+
if srcResp == nil {
301+
return
302+
}
300303
// Copy relevant data from original request and source response into destination response
301304
destResp.SetRcode(req, srcResp.MsgHdr.Rcode)
302305
destResp.RecursionDesired = req.RecursionDesired
@@ -345,6 +348,9 @@ func doQuery(msg *dns.Msg, address string, recursive bool) (*dns.Msg, error) {
345348
if err != nil {
346349
return nil, err
347350
}
351+
if resp == nil {
352+
return nil, fmt.Errorf("dns response empty")
353+
}
348354
slog.Debug(
349355
fmt.Sprintf(
350356
"response: rcode=%s, authoritative=%v, authority=%s, answer=%s, extra=%s",

0 commit comments

Comments
 (0)