diff --git a/agent.go b/agent.go index 82de746..9f1ac6a 100644 --- a/agent.go +++ b/agent.go @@ -706,7 +706,11 @@ func (a *Agent) checkKeepalive() { // AddRemoteCandidate adds a new remote candidate func (a *Agent) AddRemoteCandidate(c Candidate) error { - // canot check for network yet because it might not be applied + if c == nil { + return nil + } + + // cannot check for network yet because it might not be applied // when mDNS hostame is used. if c.TCPType() == TCPTypeActive { // TCP Candidates with tcptype active will probe server passive ones, so diff --git a/agent_test.go b/agent_test.go index 05361f3..3377729 100644 --- a/agent_test.go +++ b/agent_test.go @@ -1686,3 +1686,11 @@ func TestLiteLifecycle(t *testing.T) { <-bFailed assert.NoError(t, bAgent.Close()) } + +func TestNilCandidate(t *testing.T) { + a, err := NewAgent(&AgentConfig{}) + assert.NoError(t, err) + + assert.NoError(t, a.AddRemoteCandidate(nil)) + assert.NoError(t, a.Close()) +}