From 95c1c78c35dbeba7a9467771272aa7ca51a744b0 Mon Sep 17 00:00:00 2001 From: Christian Haudum Date: Thu, 30 Apr 2026 09:54:39 +0200 Subject: [PATCH] fix: handle nil entry in blocked queries slice --- pkg/logql/blocker.go | 3 +++ pkg/logql/blocker_test.go | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/pkg/logql/blocker.go b/pkg/logql/blocker.go index 248ba708db3a2..df4614d5ef71f 100644 --- a/pkg/logql/blocker.go +++ b/pkg/logql/blocker.go @@ -43,6 +43,9 @@ func (qb *queryBlocker) isBlocked(ctx context.Context, tenant string) bool { logger := log.With(qb.logger, "user", tenant, "type", typ) for _, b := range blocks { + if b == nil { + continue + } if b.Hash > 0 { if b.Hash == util.HashedQuery(query) { diff --git a/pkg/logql/blocker_test.go b/pkg/logql/blocker_test.go index b3805e6d370ed..bea15a02494cd 100644 --- a/pkg/logql/blocker_test.go +++ b/pkg/logql/blocker_test.go @@ -28,6 +28,12 @@ func TestEngine_ExecWithBlockedQueries(t *testing.T) { blocked []*validation.BlockedQuery expectedErr error }{ + { + name: "edge case: slice contains nil value", + q: defaultQuery, + blocked: []*validation.BlockedQuery{nil}, + expectedErr: nil, + }, { "exact match all types", defaultQuery, []*validation.BlockedQuery{