@@ -3,12 +3,12 @@ import semmle.code.cpp.security.Security
3
3
private import semmle.code.cpp.ir.dataflow.DataFlow
4
4
private import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil
5
5
private import semmle.code.cpp.ir.dataflow.DataFlow2
6
- private import semmle.code.cpp.ir.dataflow.DataFlow3
7
6
private import semmle.code.cpp.ir.IR
8
7
private import semmle.code.cpp.ir.dataflow.internal.DataFlowDispatch as Dispatch
9
8
private import semmle.code.cpp.controlflow.IRGuards
10
9
private import semmle.code.cpp.models.interfaces.Taint
11
10
private import semmle.code.cpp.models.interfaces.DataFlow
11
+ private import semmle.code.cpp.ir.dataflow.TaintTracking
12
12
private import semmle.code.cpp.ir.dataflow.TaintTracking2
13
13
private import semmle.code.cpp.ir.dataflow.internal.ModelUtil
14
14
@@ -67,23 +67,23 @@ private DataFlow::Node getNodeForExpr(Expr node) {
67
67
not argv ( node .( VariableAccess ) .getTarget ( ) )
68
68
}
69
69
70
- private class DefaultTaintTrackingCfg extends DataFlow :: Configuration {
70
+ private class DefaultTaintTrackingCfg extends TaintTracking :: Configuration {
71
71
DefaultTaintTrackingCfg ( ) { this = "DefaultTaintTrackingCfg" }
72
72
73
73
override predicate isSource ( DataFlow:: Node source ) { source = getNodeForSource ( _) }
74
74
75
75
override predicate isSink ( DataFlow:: Node sink ) { exists ( adjustedSink ( sink ) ) }
76
76
77
- override predicate isAdditionalFlowStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
77
+ override predicate isAdditionalTaintStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
78
78
commonTaintStep ( n1 , n2 )
79
79
}
80
80
81
- override predicate isBarrier ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
81
+ override predicate isSanitizer ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
82
82
83
- override predicate isBarrierIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
83
+ override predicate isSanitizerIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
84
84
}
85
85
86
- private class ToGlobalVarTaintTrackingCfg extends DataFlow :: Configuration {
86
+ private class ToGlobalVarTaintTrackingCfg extends TaintTracking :: Configuration {
87
87
ToGlobalVarTaintTrackingCfg ( ) { this = "GlobalVarTaintTrackingCfg" }
88
88
89
89
override predicate isSource ( DataFlow:: Node source ) { source = getNodeForSource ( _) }
@@ -92,20 +92,20 @@ private class ToGlobalVarTaintTrackingCfg extends DataFlow::Configuration {
92
92
sink .asVariable ( ) instanceof GlobalOrNamespaceVariable
93
93
}
94
94
95
- override predicate isAdditionalFlowStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
95
+ override predicate isAdditionalTaintStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
96
96
commonTaintStep ( n1 , n2 )
97
97
or
98
98
writesVariable ( n1 .asInstruction ( ) , n2 .asVariable ( ) .( GlobalOrNamespaceVariable ) )
99
99
or
100
100
readsVariable ( n2 .asInstruction ( ) , n1 .asVariable ( ) .( GlobalOrNamespaceVariable ) )
101
101
}
102
102
103
- override predicate isBarrier ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
103
+ override predicate isSanitizer ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
104
104
105
- override predicate isBarrierIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
105
+ override predicate isSanitizerIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
106
106
}
107
107
108
- private class FromGlobalVarTaintTrackingCfg extends DataFlow3 :: Configuration {
108
+ private class FromGlobalVarTaintTrackingCfg extends TaintTracking2 :: Configuration {
109
109
FromGlobalVarTaintTrackingCfg ( ) { this = "FromGlobalVarTaintTrackingCfg" }
110
110
111
111
override predicate isSource ( DataFlow:: Node source ) {
@@ -116,7 +116,7 @@ private class FromGlobalVarTaintTrackingCfg extends DataFlow3::Configuration {
116
116
117
117
override predicate isSink ( DataFlow:: Node sink ) { exists ( adjustedSink ( sink ) ) }
118
118
119
- override predicate isAdditionalFlowStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
119
+ override predicate isAdditionalTaintStep ( DataFlow:: Node n1 , DataFlow:: Node n2 ) {
120
120
commonTaintStep ( n1 , n2 )
121
121
or
122
122
// Additional step for flow out of variables. There is no flow _into_
@@ -125,9 +125,9 @@ private class FromGlobalVarTaintTrackingCfg extends DataFlow3::Configuration {
125
125
readsVariable ( n2 .asInstruction ( ) , n1 .asVariable ( ) )
126
126
}
127
127
128
- override predicate isBarrier ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
128
+ override predicate isSanitizer ( DataFlow:: Node node ) { nodeIsBarrier ( node ) }
129
129
130
- override predicate isBarrierIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
130
+ override predicate isSanitizerIn ( DataFlow:: Node node ) { nodeIsBarrierIn ( node ) }
131
131
}
132
132
133
133
private predicate readsVariable ( LoadInstruction load , Variable var ) {
0 commit comments