зеркало из https://github.com/github/codeql.git
Address review comments
This commit is contained in:
Родитель
bdd64ce86d
Коммит
7ba2f7a22a
|
@ -3,20 +3,21 @@
|
||||||
* global (inter-procedural) taint-tracking analyses.
|
* global (inter-procedural) taint-tracking analyses.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import DataFlow
|
private import DataFlow
|
||||||
import DataFlowImpl
|
private import DataFlowImpl
|
||||||
import DataFlowParameter
|
private import DataFlowParameter
|
||||||
import TaintTrackingParameter
|
import TaintTrackingParameter
|
||||||
|
|
||||||
module TaintFlowMake<
|
module TaintFlowMake<
|
||||||
DataFlowParameter DataFlowLang, TaintTrackingParameter<DataFlowLang> TaintTrackingLang>
|
DataFlowParameter DataFlowLang, TaintTrackingParameter<DataFlowLang> TaintTrackingLang>
|
||||||
{
|
{
|
||||||
private import DataFlowLang
|
|
||||||
private import TaintTrackingLang
|
private import TaintTrackingLang
|
||||||
private import DataFlowMake<DataFlowLang>
|
private import DataFlowMake<DataFlowLang> as DataFlow
|
||||||
private import MakeImpl<DataFlowLang>
|
private import MakeImpl<DataFlowLang> as DataFlowInternal
|
||||||
|
|
||||||
private module AddTaintDefaults<FullStateConfigSig Config> implements FullStateConfigSig {
|
private module AddTaintDefaults<DataFlowInternal::FullStateConfigSig Config> implements
|
||||||
|
DataFlowInternal::FullStateConfigSig
|
||||||
|
{
|
||||||
import Config
|
import Config
|
||||||
|
|
||||||
predicate isBarrier(DataFlowLang::Node node) {
|
predicate isBarrier(DataFlowLang::Node node) {
|
||||||
|
@ -44,41 +45,43 @@ module TaintFlowMake<
|
||||||
/**
|
/**
|
||||||
* Constructs a global taint tracking computation.
|
* Constructs a global taint tracking computation.
|
||||||
*/
|
*/
|
||||||
module Global<ConfigSig Config> implements GlobalFlowSig {
|
module Global<DataFlow::ConfigSig Config> implements DataFlow::GlobalFlowSig {
|
||||||
private module Config0 implements FullStateConfigSig {
|
private module Config0 implements DataFlowInternal::FullStateConfigSig {
|
||||||
import DefaultState<Config>
|
import DataFlowInternal::DefaultState<Config>
|
||||||
import Config
|
import Config
|
||||||
}
|
}
|
||||||
|
|
||||||
private module C implements FullStateConfigSig {
|
private module C implements DataFlowInternal::FullStateConfigSig {
|
||||||
import AddTaintDefaults<Config0>
|
import AddTaintDefaults<Config0>
|
||||||
}
|
}
|
||||||
|
|
||||||
import Impl<C>
|
import DataFlowInternal::Impl<C>
|
||||||
}
|
}
|
||||||
|
|
||||||
/** DEPRECATED: Use `Global` instead. */
|
/** DEPRECATED: Use `Global` instead. */
|
||||||
deprecated module Make<ConfigSig Config> implements GlobalFlowSig {
|
deprecated module Make<DataFlow::ConfigSig Config> implements DataFlow::GlobalFlowSig {
|
||||||
import Global<Config>
|
import Global<Config>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a global taint tracking computation using flow state.
|
* Constructs a global taint tracking computation using flow state.
|
||||||
*/
|
*/
|
||||||
module GlobalWithState<StateConfigSig Config> implements GlobalFlowSig {
|
module GlobalWithState<DataFlow::StateConfigSig Config> implements DataFlow::GlobalFlowSig {
|
||||||
private module Config0 implements FullStateConfigSig {
|
private module Config0 implements DataFlowInternal::FullStateConfigSig {
|
||||||
import Config
|
import Config
|
||||||
}
|
}
|
||||||
|
|
||||||
private module C implements FullStateConfigSig {
|
private module C implements DataFlowInternal::FullStateConfigSig {
|
||||||
import AddTaintDefaults<Config0>
|
import AddTaintDefaults<Config0>
|
||||||
}
|
}
|
||||||
|
|
||||||
import Impl<C>
|
import DataFlowInternal::Impl<C>
|
||||||
}
|
}
|
||||||
|
|
||||||
/** DEPRECATED: Use `GlobalWithState` instead. */
|
/** DEPRECATED: Use `GlobalWithState` instead. */
|
||||||
deprecated module MakeWithState<StateConfigSig Config> implements GlobalFlowSig {
|
deprecated module MakeWithState<DataFlow::StateConfigSig Config> implements
|
||||||
|
DataFlow::GlobalFlowSig
|
||||||
|
{
|
||||||
import GlobalWithState<Config>
|
import GlobalWithState<Config>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче