From 9b6a69c4c53909638e53823506c9fce8ce91ec29 Mon Sep 17 00:00:00 2001 From: Tom Limoncelli Date: Mon, 9 Jan 2023 12:51:18 -0500 Subject: [PATCH] AZURE_DNS: Defend against nil targets --- providers/azuredns/azureDnsProvider.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/providers/azuredns/azureDnsProvider.go b/providers/azuredns/azureDnsProvider.go index 58920f1f2..7289b195c 100644 --- a/providers/azuredns/azureDnsProvider.go +++ b/providers/azuredns/azureDnsProvider.go @@ -426,6 +426,13 @@ func nativeToRecordType(recordType *string) (adns.RecordType, error) { } } +func safeTarget(t *string) string { + if t == nil { + return "foundnil" + } + return *t +} + func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig { var results []*models.RecordConfig switch rtype := *set.Type; rtype { @@ -448,7 +455,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig Original: set, } rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin) - _ = rc.SetTarget(*set.Properties.TargetResource.ID) + _ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID)) results = append(results, rc) } case "Microsoft.Network/dnszones/AAAA": @@ -470,7 +477,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig Original: set, } rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin) - _ = rc.SetTarget(*set.Properties.TargetResource.ID) + _ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID)) results = append(results, rc) } case "Microsoft.Network/dnszones/CNAME": @@ -490,7 +497,7 @@ func nativeToRecords(set *adns.RecordSet, origin string) []*models.RecordConfig Original: set, } rc.SetLabelFromFQDN(*set.Properties.Fqdn, origin) - _ = rc.SetTarget(*set.Properties.TargetResource.ID) + _ = rc.SetTarget(safeTarget(set.Properties.TargetResource.ID)) results = append(results, rc) } case "Microsoft.Network/dnszones/NS":