Fix nil ptr exception on invalid report prefilter
This commit is contained in:
@@ -65,9 +65,17 @@ func (p *Parser) Parse(s string) (*ASTNode, error) {
|
||||
if set, err := p.parse(p.nextToken()); err != nil {
|
||||
return nil, err
|
||||
} else if len(set) == 1 {
|
||||
return set[0].ToAST(), set[0].Validate()
|
||||
err := set[0].Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return set[0].ToAST(), nil
|
||||
} else {
|
||||
return set.ToAST(), set.Validate()
|
||||
err := set.Validate()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return set.ToAST(), nil
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -159,10 +159,10 @@ func (f *Filter) UnmarshalJSON(data []byte) (err error) {
|
||||
}
|
||||
|
||||
aux, err := p.Parse(n.Raw)
|
||||
aux.Raw = n.Raw
|
||||
if err != nil {
|
||||
return false, n, err
|
||||
}
|
||||
aux.Raw = n.Raw
|
||||
|
||||
return false, aux, nil
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user