fix(healthcheck): prevent infinite loop if DERP message exchange fails (#7112)

This commit is contained in:
Colin Adler
2023-04-13 13:46:16 -05:00
committed by GitHub
parent 38e5b9679b
commit f5a8a27714

View File

@ -2,9 +2,7 @@ package healthcheck
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"io"
"net" "net"
"net/netip" "net/netip"
"net/url" "net/url"
@ -390,9 +388,7 @@ func (*DERPNodeReport) recvData(client *derphttp.Client) (derp.ReceivedPacket, e
for { for {
msg, err := client.Recv() msg, err := client.Recv()
if err != nil { if err != nil {
if errors.Is(err, io.EOF) { return derp.ReceivedPacket{}, err
return derp.ReceivedPacket{}, nil
}
} }
switch msg := msg.(type) { switch msg := msg.(type) {