From fbf32e349d19d928d8e08369edbd4a804fb061ad Mon Sep 17 00:00:00 2001 From: Julien Pivotto <291750+roidelapluie@users.noreply.github.com> Date: Tue, 19 May 2026 11:35:44 +0200 Subject: [PATCH] promql: guard against nil function call in eval Signed-off-by: Julien Pivotto <291750+roidelapluie@users.noreply.github.com> --- promql/engine.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/promql/engine.go b/promql/engine.go index 380cf9a7d8..4b8e12a10b 100644 --- a/promql/engine.go +++ b/promql/engine.go @@ -2063,6 +2063,11 @@ func (ev *evaluator) eval(ctx context.Context, expr parser.Expr) (parser.Value, return ev.evalInfo(ctx, e.Args) } + // Functions with nil entries in FunctionCalls should have been handled before reaching this point. + if call == nil { + panic(fmt.Errorf("unexpected nil implementation for function %q", e.Func.Name)) + } + // Emit a warning when sort is used for range queries. if (e.Func.Name == "sort" || e.Func.Name == "sort_desc" || e.Func.Name == "sort_by_label" || e.Func.Name == "sort_by_label_desc") && ev.startTimestamp != ev.endTimestamp { warnings.Add(annotations.NewSortInRangeQueryWarning(e.PositionRange()))