File tree Expand file tree Collapse file tree 1 file changed +26
-20
lines changed
cpp/ql/src/Likely Bugs/Conversion Expand file tree Collapse file tree 1 file changed +26
-20
lines changed Original file line number Diff line number Diff line change 1111
1212import cpp
1313
14- predicate whitelist ( string fName ) {
15- fName = "ceil" or
16- fName = "ceilf" or
17- fName = "ceill" or
18- fName = "floor" or
19- fName = "floorf" or
20- fName = "floorl" or
21- fName = "nearbyint" or
22- fName = "nearbyintf" or
23- fName = "nearbyintl" or
24- fName = "rint" or
25- fName = "rintf" or
26- fName = "rintl" or
27- fName = "round" or
28- fName = "roundf" or
29- fName = "roundl" or
30- fName = "trunc" or
31- fName = "truncf" or
32- fName = "truncl"
14+ predicate whitelist ( Function f ) {
15+ exists ( string fName |
16+ fName = f .getName ( ) and
17+ (
18+ fName = "ceil" or
19+ fName = "ceilf" or
20+ fName = "ceill" or
21+ fName = "floor" or
22+ fName = "floorf" or
23+ fName = "floorl" or
24+ fName = "nearbyint" or
25+ fName = "nearbyintf" or
26+ fName = "nearbyintl" or
27+ fName = "rint" or
28+ fName = "rintf" or
29+ fName = "rintl" or
30+ fName = "round" or
31+ fName = "roundf" or
32+ fName = "roundl" or
33+ fName = "trunc" or
34+ fName = "truncf" or
35+ fName = "truncl" or
36+ fName .matches ( "__builtin_%" )
37+ )
38+ )
3339}
3440
3541predicate whitelistPow ( FunctionCall fc ) {
@@ -44,7 +50,7 @@ predicate whitelistPow(FunctionCall fc) {
4450}
4551
4652predicate whiteListWrapped ( FunctionCall fc ) {
47- whitelist ( fc .getTarget ( ) . getName ( ) ) or
53+ whitelist ( fc .getTarget ( ) ) or
4854 whitelistPow ( fc ) or
4955 exists ( ReturnStmt rs |
5056 rs .getEnclosingFunction ( ) = fc .getTarget ( ) and
You can’t perform that action at this time.
0 commit comments