diff --git a/pkg/dns/resource.go b/pkg/dns/resource.go index 4133acf..e1da64f 100644 --- a/pkg/dns/resource.go +++ b/pkg/dns/resource.go @@ -45,7 +45,7 @@ func (r *Resource) GetRecords() []ResourceRecord { return nil } - return r.Records + return append([]ResourceRecord(nil), r.Records...) } // ResourceJSON represents the JSON form of a DNS resource. diff --git a/pkg/dns/resource_test.go b/pkg/dns/resource_test.go index 99de1fe..265f70c 100644 --- a/pkg/dns/resource_test.go +++ b/pkg/dns/resource_test.go @@ -296,6 +296,12 @@ func TestResourceTypeHelpers(t *testing.T) { if got := resource.GetRecords(); len(got) != len(resource.Records) { t.Fatalf("GetRecords() = %d records, want %d", len(got), len(resource.Records)) } + + gotRecords := resource.GetRecords() + gotRecords[0] = nil + if resource.Records[0] == nil { + t.Fatal("GetRecords should return a copy of the record slice") + } } func TestResourceRecordTypeAliases(t *testing.T) {