@@ -131,15 +131,6 @@ abstract class TaintKind extends string {
131
131
edgeLabel = "custom taint flow step for " + this
132
132
}
133
133
134
- /**
135
- * DEPRECATED -- Use `TaintFlow.additionalFlowStepVar(EssaVariable fromvar, EssaVariable tovar, TaintKind kind)` instead.
136
- *
137
- * Holds if this kind of taint passes from variable `fromvar` to variable `tovar`
138
- * This predicate is present for completeness. It is unlikely that any `TaintKind`
139
- * implementation will ever need to override it.
140
- */
141
- deprecated predicate additionalFlowStepVar ( EssaVariable fromvar , EssaVariable tovar ) { none ( ) }
142
-
143
134
/**
144
135
* Holds if this kind of taint "taints" `expr`.
145
136
*/
@@ -155,7 +146,7 @@ abstract class TaintKind extends string {
155
146
* For example, if this were a kind of string taint
156
147
* the `result` would be `theStrType()`.
157
148
*/
158
- ClassValue getType ( ) { result . ( ClassObjectInternal ) . getSource ( ) = this . getClass ( ) }
149
+ ClassValue getType ( ) { none ( ) }
159
150
160
151
/**
161
152
* Gets the boolean values (may be one, neither, or both) that
@@ -180,7 +171,10 @@ abstract class TaintKind extends string {
180
171
TaintKind getTaintForIteration ( ) { none ( ) }
181
172
182
173
predicate flowStep ( DataFlow:: Node fromnode , DataFlow:: Node tonode , string edgeLabel ) {
183
- this .additionalFlowStepVar ( fromnode .asVariable ( ) , tonode .asVariable ( ) ) and
174
+ exists ( DataFlowExtension:: DataFlowVariable v |
175
+ v = fromnode .asVariable ( ) and
176
+ v .getASuccessorVariable ( ) = tonode .asVariable ( )
177
+ ) and
184
178
edgeLabel = "custom taint variable step"
185
179
}
186
180
}
@@ -355,41 +349,6 @@ abstract class Sanitizer extends string {
355
349
predicate sanitizingDefinition ( TaintKind taint , EssaDefinition def ) { none ( ) }
356
350
}
357
351
358
- /**
359
- * DEPRECATED -- Use DataFlowExtension instead.
360
- * An extension to taint-flow. For adding library or framework specific flows.
361
- * Examples include flow from a request to untrusted part of that request or
362
- * from a socket to data from that socket.
363
- */
364
- abstract deprecated class TaintFlow extends string {
365
- bindingset [ this ]
366
- TaintFlow ( ) { any ( ) }
367
-
368
- /**
369
- * Holds if `fromnode` being tainted with `fromkind` will result in `tonode` being tainted with `tokind`.
370
- * Extensions to `TaintFlow` should override this to provide additional taint steps.
371
- */
372
- predicate additionalFlowStep (
373
- ControlFlowNode fromnode , TaintKind fromkind , ControlFlowNode tonode , TaintKind tokind
374
- ) {
375
- none ( )
376
- }
377
-
378
- /**
379
- * Holds if the given `kind` of taint passes from variable `fromvar` to variable `tovar`.
380
- * This predicate is present for completeness. Most `TaintFlow` implementations will not need to override it.
381
- */
382
- predicate additionalFlowStepVar ( EssaVariable fromvar , EssaVariable tovar , TaintKind kind ) {
383
- none ( )
384
- }
385
-
386
- /**
387
- * Holds if the given `kind` of taint cannot pass from variable `fromvar` to variable `tovar`.
388
- * This predicate is present for completeness. Most `TaintFlow` implementations will not need to override it.
389
- */
390
- predicate prunedFlowStepVar ( EssaVariable fromvar , EssaVariable tovar , TaintKind kind ) { none ( ) }
391
- }
392
-
393
352
/**
394
353
* A source of taintedness.
395
354
* Users of the taint tracking library should override this
0 commit comments