Fix crash in exchangeParallel

This commit is contained in:
世界 2025-02-10 14:32:33 +08:00
parent 7500b699e5
commit cb17c08db8
No known key found for this signature in database
GPG Key ID: CD109927C34A63C4

View File

@ -86,9 +86,11 @@ func (t *Transport) exchangeParallel(ctx context.Context, systemConfig *dnsConfi
results := make(chan queryResult) results := make(chan queryResult)
startRacer := func(ctx context.Context, fqdn string) { startRacer := func(ctx context.Context, fqdn string) {
response, err := t.tryOneName(ctx, systemConfig, fqdn, message) response, err := t.tryOneName(ctx, systemConfig, fqdn, message)
addresses, _ := dns.MessageToAddresses(response) if err == nil {
if len(addresses) == 0 { addresses, _ := dns.MessageToAddresses(response)
err = E.New(fqdn, ": empty result") if len(addresses) == 0 {
err = E.New(fqdn, ": empty result")
}
} }
select { select {
case results <- queryResult{response, err}: case results <- queryResult{response, err}: