File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed
cpp/ql/src/experimental/Security/CWE/CWE-266 Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change 53
53
fctmp .getTarget ( ) .hasGlobalOrStdName ( "fopen" ) or
54
54
fctmp .getTarget ( ) .hasGlobalOrStdName ( "open" )
55
55
) and
56
- not fctmp .getArgument ( 1 ) .getValue ( ) .matches ( "r%" ) and
56
+ (
57
+ fctmp .getArgument ( 1 ) .getValue ( ) .matches ( "%a%" ) or
58
+ // unfortunately cannot use numeric value here because // O_APPEND is defined differently on different OSes:
59
+ // https://github.com/red/red/blob/92feb0c0d5f91e087ab35fface6906afbf99b603/runtime/definitions.reds#L477-L491
60
+ // this may introduce false negatives
61
+ fctmp .getArgument ( 1 ) .getValueText ( ) .matches ( "%O_APPEND%" )
62
+ ) and
57
63
fctmp .getNumberOfArguments ( ) = 2 and
58
64
not fctmp .getArgument ( 0 ) .getValue ( ) = "/dev/null" and
59
65
fcsnd = fctmp
You can’t perform that action at this time.
0 commit comments