CodeQL library for C/C++
codeql/cpp-all 3.2.1-dev (changelog, source)
Search

Module signature Configs::ConfigSig

An input configuration for data flow.

Import path

import codeql.dataflow.DataFlow

Predicates

accessPathLimit

Gets the access path limit.

allowImplicitRead

Holds if an arbitrary number of implicit read steps of content c may be taken at node.

fieldFlowBranchLimit

Gets the virtual dispatch branching limit when calculating field flow. This can be overridden to a smaller value to improve performance (a value of 0 disables field flow), or a larger value to get more results.

getAFeature

Gets a data flow configuration feature to add restrictions to the set of valid flow paths.

getASelectedSinkLocation

Gets a location that will be associated with the given sink in a diff-informed query that uses this configuration (see observeDiffInformedIncrementalMode). By default, this is the location of the sink itself, but this predicate should include any locations that are reported as the primary-location of the query or as an additional location (“$@” interpolation). For a query that doesn’t report the sink at all, this predicate can be none().

getASelectedSourceLocation

Gets a location that will be associated with the given source in a diff-informed query that uses this configuration (see observeDiffInformedIncrementalMode). By default, this is the location of the source itself, but this predicate should include any locations that are reported as the primary-location of the query or as an additional location (“$@” interpolation). For a query that doesn’t report the source at all, this predicate can be none().

includeHiddenNodes

Holds if hidden nodes should be included in the data flow graph.

isAdditionalFlowStep

Holds if data may flow from node1 to node2 in addition to the normal data-flow steps.

isBarrier

Holds if data flow through node is prohibited. This completely removes node from the data flow graph.

isBarrierIn

Holds if data flow into node is prohibited.

isBarrierOut

Holds if data flow out of node is prohibited.

isSink

Holds if sink is a relevant data flow sink.

isSource

Holds if source is a relevant data flow source.

neverSkip

Holds if node should never be skipped over in the PathGraph and in path explanations.

observeDiffInformedIncrementalMode

Holds if sources and sinks should be filtered to only include those that may lead to a flow path with either a source or a sink in the location range given by AlertFiltering. This only has an effect when running in diff-informed incremental mode.