CodeQL library for C/C++
codeql/cpp-all 0.13.0 (changelog, source)

Module PartialFlow

Provides an abstract class to override the implicit assumption that a dataflow/taint-tracking model always fully override the parameters they are are modeled as writing to. To use this QL library, create a QL class extending PartialFlowFunction with a characteristic predicate that selects the function or set of functions you are modeling and override the isPartialWrite predicate.

Note: Since both DataFlowFunction and TaintFunction extend this class you don’t need to explicitly add this as a base class if your QL class already extends either DataFlowFunction or TaintFunction.

Import path

import semmle.code.cpp.models.interfaces.PartialFlow



Provides classes for working with functions, including template functions.


Provides a set of QL classes for indicating dataflows through a particular parameter, return value, or qualifier, as well as flows at one level of pointer indirection.




A function that may update part of a FunctionOutput.