@@ -87,7 +87,7 @@ module TaintTracking {
87
87
override predicate isLabeledBarrier ( DataFlow:: Node node , DataFlow:: FlowLabel lbl ) {
88
88
super .isLabeledBarrier ( node , lbl )
89
89
or
90
- isSanitizer ( node ) and lbl .isTaint ( )
90
+ this . isSanitizer ( node ) and lbl .isTaint ( )
91
91
}
92
92
93
93
override predicate isBarrier ( DataFlow:: Node node ) {
@@ -103,15 +103,15 @@ module TaintTracking {
103
103
) {
104
104
super .isBarrierEdge ( source , sink , lbl )
105
105
or
106
- isSanitizerEdge ( source , sink , lbl )
106
+ this . isSanitizerEdge ( source , sink , lbl )
107
107
or
108
- isSanitizerEdge ( source , sink ) and lbl .isTaint ( )
108
+ this . isSanitizerEdge ( source , sink ) and lbl .isTaint ( )
109
109
}
110
110
111
111
final override predicate isBarrierGuard ( DataFlow:: BarrierGuardNode guard ) {
112
112
super .isBarrierGuard ( guard ) or
113
113
guard .( AdditionalSanitizerGuardNode ) .appliesTo ( this ) or
114
- isSanitizerGuard ( guard )
114
+ this . isSanitizerGuard ( guard )
115
115
}
116
116
117
117
/**
@@ -121,14 +121,14 @@ module TaintTracking {
121
121
predicate isAdditionalTaintStep ( DataFlow:: Node pred , DataFlow:: Node succ ) { none ( ) }
122
122
123
123
final override predicate isAdditionalFlowStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
124
- isAdditionalTaintStep ( pred , succ ) or
124
+ this . isAdditionalTaintStep ( pred , succ ) or
125
125
sharedTaintStep ( pred , succ )
126
126
}
127
127
128
128
final override predicate isAdditionalFlowStep (
129
129
DataFlow:: Node pred , DataFlow:: Node succ , boolean valuePreserving
130
130
) {
131
- isAdditionalFlowStep ( pred , succ ) and valuePreserving = false
131
+ this . isAdditionalFlowStep ( pred , succ ) and valuePreserving = false
132
132
}
133
133
134
134
override DataFlow:: FlowLabel getDefaultSourceLabel ( ) { result .isTaint ( ) }
@@ -173,9 +173,9 @@ module TaintTracking {
173
173
abstract predicate sanitizes ( boolean outcome , Expr e ) ;
174
174
175
175
override predicate blocks ( boolean outcome , Expr e , DataFlow:: FlowLabel label ) {
176
- sanitizes ( outcome , e ) and label .isTaint ( )
176
+ this . sanitizes ( outcome , e ) and label .isTaint ( )
177
177
or
178
- sanitizes ( outcome , e , label )
178
+ this . sanitizes ( outcome , e , label )
179
179
}
180
180
181
181
/**
@@ -1032,13 +1032,13 @@ module TaintTracking {
1032
1032
name = "has" or
1033
1033
name = "hasOwnProperty"
1034
1034
|
1035
- getMethodName ( ) = name
1035
+ this . getMethodName ( ) = name
1036
1036
)
1037
1037
}
1038
1038
1039
1039
override predicate sanitizes ( boolean outcome , Expr e ) {
1040
1040
outcome = true and
1041
- e = getArgument ( 0 ) .asExpr ( )
1041
+ e = this . getArgument ( 0 ) .asExpr ( )
1042
1042
}
1043
1043
1044
1044
override predicate appliesTo ( Configuration cfg ) { any ( ) }
@@ -1053,14 +1053,14 @@ module TaintTracking {
1053
1053
*/
1054
1054
class AdHocWhitelistCheckSanitizer extends SanitizerGuardNode , DataFlow:: CallNode {
1055
1055
AdHocWhitelistCheckSanitizer ( ) {
1056
- getCalleeName ( )
1056
+ this . getCalleeName ( )
1057
1057
.regexpMatch ( "(?i).*((?<!un)safe|whitelist|(?<!in)valid|allow|(?<!un)auth(?!or\\b)).*" ) and
1058
- getNumArgument ( ) = 1
1058
+ this . getNumArgument ( ) = 1
1059
1059
}
1060
1060
1061
1061
override predicate sanitizes ( boolean outcome , Expr e ) {
1062
1062
outcome = true and
1063
- e = getArgument ( 0 ) .asExpr ( )
1063
+ e = this . getArgument ( 0 ) .asExpr ( )
1064
1064
}
1065
1065
}
1066
1066
0 commit comments