diff --git a/pkg/providers/aws/alb.go b/pkg/providers/aws/alb.go index c08807f..72ebfba 100644 --- a/pkg/providers/aws/alb.go +++ b/pkg/providers/aws/alb.go @@ -74,7 +74,7 @@ func (ep *elbV2Provider) listELBV2Resources(albClient *elbv2.ELBV2, ec2Client *e } for _, lb := range loadBalancers { - if lb.DNSName == nil || lb.LoadBalancerName == nil { + if lb == nil || lb.DNSName == nil || lb.LoadBalancerName == nil { continue } albDNS := *lb.DNSName diff --git a/pkg/providers/aws/alb_test.go b/pkg/providers/aws/alb_test.go index fae5c56..009ef67 100644 --- a/pkg/providers/aws/alb_test.go +++ b/pkg/providers/aws/alb_test.go @@ -15,7 +15,7 @@ import ( func processLoadBalancersForTest(lbs []*elbv2.LoadBalancer) *schema.Resources { list := schema.NewResources() for _, lb := range lbs { - if lb.DNSName == nil || lb.LoadBalancerName == nil { + if lb == nil || lb.DNSName == nil || lb.LoadBalancerName == nil { continue } list.Append(&schema.Resource{ @@ -41,10 +41,11 @@ func processTargetsForTest(targets []*elbv2.TargetHealthDescription) []string { return ids } -func TestListELBV2Resources_NilDNSName(t *testing.T) { +func TestListELBV2Resources_NilLoadBalancer(t *testing.T) { t.Parallel() lbs := []*elbv2.LoadBalancer{ + nil, { DNSName: nil, LoadBalancerName: aws.String("internal-lb"), @@ -58,7 +59,7 @@ func TestListELBV2Resources_NilDNSName(t *testing.T) { require.NotPanics(t, func() { resources := processLoadBalancersForTest(lbs) - assert.Equal(t, 0, len(resources.Items), "nil DNSName or LoadBalancerName LBs must be skipped") + assert.Equal(t, 0, len(resources.Items), "nil or incomplete load balancers must be skipped") }) }