Merge pull request #16754 from simonpasquier/fix-promql-panic

fix: prevent invalid array access in aggregate expression
pull/16737/head
Julien 7 days ago committed by GitHub
commit 8f75da3fd6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 5
      promql/parser/parse.go
  2. 5
      promql/parser/parse_test.go

@ -451,6 +451,11 @@ func (p *parser) newAggregateExpr(op Item, modifier, args Node) (ret *AggregateE
ret = modifier.(*AggregateExpr)
arguments := args.(Expressions)
if len(p.closingParens) == 0 {
// Prevents invalid array accesses.
// The error is already captured by the parser.
return
}
ret.PosRange = posrange.PositionRange{
Start: op.Pos,
End: p.closingParens[0],

@ -4540,6 +4540,11 @@ var testExpr = []struct {
PosRange: posrange.PositionRange{Start: 0, End: 20},
},
},
{
input: "sum(rate(",
fail: true,
errMsg: "unclosed left parenthesis",
},
}
func makeInt64Pointer(val int64) *int64 {

Loading…
Cancel
Save