diff --git a/pkg/filter/ql/ast.go b/pkg/filter/ql/ast.go index a47df43ed..c6b0cbe70 100644 --- a/pkg/filter/ql/ast.go +++ b/pkg/filter/ql/ast.go @@ -854,12 +854,13 @@ func (v *ValuerEval) evalBinaryExpr(expr *BinaryExpr) interface{} { return false } case IContains: + v := strings.ToLower(lhs) switch rhs := rhs.(type) { case string: - return strings.Contains(strings.ToLower(lhs), strings.ToLower(rhs)) + return strings.Contains(v, strings.ToLower(rhs)) case []string: for _, s := range rhs { - if strings.Contains(strings.ToLower(lhs), strings.ToLower(s)) { + if strings.Contains(v, strings.ToLower(s)) { return true } } @@ -960,12 +961,13 @@ func (v *ValuerEval) evalBinaryExpr(expr *BinaryExpr) interface{} { return false } case IMatches: + v := strings.ToLower(lhs) switch rhs := rhs.(type) { case string: - return wildcard.Match(strings.ToLower(rhs), strings.ToLower(lhs)) + return wildcard.Match(strings.ToLower(rhs), v) case []string: for _, pat := range rhs { - if wildcard.Match(strings.ToLower(pat), strings.ToLower(lhs)) { + if wildcard.Match(strings.ToLower(pat), v) { return true } }