From 5303f3badf089dc5eb581c4e0f0df41164d54b3b Mon Sep 17 00:00:00 2001 From: Cynate <25298912+cyn8@users.noreply.github.com> Date: Wed, 12 Aug 2026 11:26:15 +1000 Subject: [PATCH] fix: handle nil AWS ALB entries --- pkg/providers/aws/alb.go | 2 +- pkg/providers/aws/alb_test.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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") }) }