diff --git a/tailcfg/tailcfg.go b/tailcfg/tailcfg.go index 4e22afd33..1df4cf388 100644 --- a/tailcfg/tailcfg.go +++ b/tailcfg/tailcfg.go @@ -635,6 +635,9 @@ type RegisterRequest struct { // // TODO: extend cmd/cloner to generate this method. func (req *RegisterRequest) Clone() *RegisterRequest { + if req == nil { + return nil + } res := new(RegisterRequest) *res = *req if res.Hostinfo != nil { diff --git a/tailcfg/tailcfg_test.go b/tailcfg/tailcfg_test.go index f5fa60642..4cc987265 100644 --- a/tailcfg/tailcfg_test.go +++ b/tailcfg/tailcfg_test.go @@ -546,3 +546,11 @@ func TestDiscoKeyAppend(t *testing.T) { t.Errorf("got %q; want %q", got, want) } } + +func TestRegisterRequestNilClone(t *testing.T) { + var nilReq *RegisterRequest + got := nilReq.Clone() + if got != nil { + t.Errorf("got = %v; want nil", got) + } +}