CodeQL library for Go
codeql/go-all 3.0.1-dev (changelog, source)
Search

Member predicate Make::Private::SummarizedCallableImpl::propagatesFlow

Holds if data may flow from input to output through this callable.

preservesValue indicates whether this is a value-preserving step or a taint-step.

If model is non-empty then it indicates the provenance of the model defining this flow.

Input specifications are restricted to stacks that end with SummaryComponent::argument(_), preceded by zero or more SummaryComponent::return(_) or SummaryComponent::content(_) components.

Output specifications are restricted to stacks that end with SummaryComponent::return(_) or SummaryComponent::argument(_).

Output stacks ending with SummaryComponent::return(_) can be preceded by zero or more SummaryComponent::content(_) components.

Output stacks ending with SummaryComponent::argument(_) can be preceded by an optional SummaryComponent::parameter(_) component, which in turn can be preceded by zero or more SummaryComponent::content(_) components.

predicate propagatesFlow(SummaryComponentStack input, SummaryComponentStack output, boolean preservesValue, string model)