11package flags
22
33import (
4- "fmt"
54 "strings"
65
76 tracee "github.com/aquasecurity/tracee/pkg/ebpf"
@@ -121,6 +120,10 @@ func PrepareFilter(filtersArr []string) (tracee.Filter, error) {
121120 operatorAndValues = f [operatorIndex :]
122121 }
123122
123+ if len (operatorAndValues ) == 1 || operatorAndValues == "!=" || operatorAndValues == "<=" || operatorAndValues == ">=" {
124+ return tracee.Filter {}, filters .InvalidExpression (f )
125+ }
126+
124127 if strings .Contains (f , ".retval" ) {
125128 err := filter .RetFilter .Parse (filterName , operatorAndValues , eventsNameToID )
126129 if err != nil {
@@ -262,7 +265,7 @@ func PrepareFilter(filtersArr []string) (tracee.Filter, error) {
262265 filter .Follow = true
263266 continue
264267 }
265- return tracee.Filter {}, fmt . Errorf ( "invalid filter option specified, use '--trace help' for more info" )
268+ return tracee.Filter {}, InvalidFilterOptionError ( f )
266269 }
267270
268271 var err error
@@ -300,12 +303,12 @@ func prepareEventsToTrace(eventFilter *filters.StringFilter, setFilter *filters.
300303 }
301304 }
302305 if ! found {
303- return nil , fmt . Errorf ( "invalid event to exclude: %s" , name )
306+ return nil , InvalidEventExcludeError ( name )
304307 }
305308 } else {
306309 id , ok := eventsNameToID [name ]
307310 if ! ok {
308- return nil , fmt . Errorf ( "invalid event to exclude: %s" , name )
311+ return nil , InvalidEventExcludeError ( name )
309312 }
310313 isExcluded [id ] = true
311314 }
@@ -328,21 +331,21 @@ func prepareEventsToTrace(eventFilter *filters.StringFilter, setFilter *filters.
328331 }
329332 }
330333 if ! found {
331- return nil , fmt . Errorf ( "invalid event to trace: %s" , name )
334+ return nil , InvalidEventError ( name )
332335 }
333336 res = append (res , ids ... )
334337 } else {
335338 id , ok := eventsNameToID [name ]
336339 if ! ok {
337- return nil , fmt . Errorf ( "invalid event to trace: %s" , name )
340+ return nil , InvalidEventError ( name )
338341 }
339342 res = append (res , id )
340343 }
341344 }
342345 for _ , set := range setsToTrace {
343346 setEvents , ok := setsToEvents [set ]
344347 if ! ok {
345- return nil , fmt . Errorf ( "invalid set to trace: %s" , set )
348+ return nil , InvalidSetError ( set )
346349 }
347350 for _ , id := range setEvents {
348351 if ! isExcluded [id ] {
0 commit comments