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

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

Imports

Function

Provides classes for working with functions, including template functions.

FunctionInputsAndOutputs

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.

Models

Classes

PartialFlowFunction

A function that may update part of a FunctionOutput.