Skip to content

Commit 18ff8d2

Browse files
committed
Parameterize TaintTrackingStack over Global Dataflow implementation
1 parent ced775a commit 18ff8d2

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

java/ql/lib/semmle/code/java/dataflow/TaintTrackingStack.qll

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@ private import semmle.code.java.dataflow.internal.DataFlowImplSpecific
88
private import semmle.code.java.dataflow.internal.TaintTrackingImplSpecific
99
private import codeql.dataflowstack.TaintTrackingStack as TTS
1010

11-
module TaintTrackingStack = TTS::LanguageTaintTracking<Location, JavaDataFlow, JavaTaintTracking>;
12-
// private import TTS::TaintTrackingStackMake<> as TaintTrackingStackFactory
11+
module LanguageTaintTrackingStack = TTS::LanguageTaintTracking<Location, JavaDataFlow, JavaTaintTracking>;
1312

1413
private module TaintTrackingStackInput<DataFlow::ConfigSig Config>
15-
implements TaintTrackingStack::TaintTrackingStackSig<Config>
14+
implements LanguageTaintTrackingStack::DataFlowGroup<Config>::TaintTrackingStackSig<TaintTracking::Global<Config>>
1615
{
1716
private module Flow = TaintTracking::Global<Config>;
1817

@@ -31,13 +30,13 @@ private module TaintTrackingStackInput<DataFlow::ConfigSig Config>
3130
}
3231
}
3332

34-
module DataFlowStackMake<TaintTrackingStackFactory::DataFlow::ConfigSig Config> {
35-
import TaintTrackingStackFactory::FlowStack<Config, TaintTrackingStackInput<Config>>
33+
module DataFlowStackMake<DataFlow::ConfigSig Config> {
34+
import LanguageTaintTrackingStack::FlowStack<TaintTracking::Global<Config>, Config, TaintTrackingStackInput<Config>>
3635
}
3736

3837
module BiStackAnalysisMake<
39-
TaintTrackingStackFactory::DataFlow::ConfigSig ConfigA,
40-
TaintTrackingStackFactory::DataFlow::ConfigSig ConfigB>
41-
{
42-
import TaintTrackingStackFactory::BiStackAnalysis<ConfigA, TaintTrackingStackInput<ConfigA>, ConfigB, TaintTrackingStackInput<ConfigB>>
38+
DataFlow::ConfigSig ConfigA,
39+
DataFlow::ConfigSig ConfigB
40+
>{
41+
import LanguageTaintTrackingStack::BiStackAnalysis<ConfigA, TaintTracking::Global<ConfigA>, TaintTrackingStackInput<ConfigA>, ConfigB, TaintTracking::Global<ConfigB>, TaintTrackingStackInput<ConfigB>>
4342
}

shared/dataflowstack/codeql/dataflowstack/TaintTrackingStack.qll

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ private import codeql.util.Location
88
/**
99
* A Language-initialized grouping of DataFlow types and primitives.
1010
*/
11-
module LanguageTaintTracking<LocationSig Location, DF::InputSig<Location> Lang, TT::InputSig<Location, Lang> TTLang>
12-
{
11+
module LanguageTaintTracking<LocationSig Location, DF::InputSig<Location> Lang, TT::InputSig<Location, Lang> TTLang>{
1312
module AbstractDF = DF::Configs<Location, Lang>;
1413
module AbstractDataFlow = DF::DataFlowMake<Location, Lang>;
1514
module AbstractTaintFlow = TT::TaintFlowMake<Location, Lang, TTLang>;

0 commit comments

Comments
 (0)