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 5353 fctmp .getTarget ( ) .hasGlobalOrStdName ( "fopen" ) or
5454 fctmp .getTarget ( ) .hasGlobalOrStdName ( "open" )
5555 ) 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
5763 fctmp .getNumberOfArguments ( ) = 2 and
5864 not fctmp .getArgument ( 0 ) .getValue ( ) = "/dev/null" and
5965 fcsnd = fctmp
You can’t perform that action at this time.
0 commit comments