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

Module DataFlowUtil

Provides C++-specific definitions for use in the data flow library.

Import path

import semmle.code.cpp.ir.dataflow.internal.DataFlowUtil

Imports

Predicates

getARuntimeTarget

Gets a function that may be called by call.

localExprFlow

Holds if data can flow from e1 to e2 in zero or more local (intra-procedural) steps.

localFlow

Holds if data flows from source to sink in zero or more local (intra-procedural) steps.

localInstructionFlow

Holds if data can flow from i1 to i2 in zero or more local (intra-procedural) steps.

repeatStars

Gets a string consisting of n star characters (“*”), where n >= 0. This is used to represent indirection.

Classes

AdditionalCallTarget

A unit class for adding additional call steps.

Content

A description of the way data may be stored inside an object. Examples include instance fields, the contents of a collection object, or the contents of an array.

ContentSet

An entity that represents a set of Contents.

ElementContent

A Content that represents one of the elements of a container (e.g., std::vector).

FieldContent

A Content that references a Field. This may be a field of a struct, class, or union. In the case of a union there may be multiple fields associated with the same Content.

NonUnionFieldContent

A reference through a non-union instance field.

UnionContent

A reference through an instance field of a union.

Modules

BarrierGuard

Provides a set of barrier nodes for a guard that validates an expression.

InstructionBarrierGuard

Provides a set of barrier nodes for a guard that validates an instruction.

ParameterizedBarrierGuard

Provides a set of barrier nodes for a guard that validates an expression.

ParameterizedInstructionBarrierGuard

Provides a set of barrier nodes for a guard that validates an instruction.

Ssa

A module that provides static single assignment (SSA) information.

Predicate signatures

guardChecksSig

Holds if the guard g validates the expression e upon evaluating to branch.

instructionGuardChecksSig

Holds if the guard g validates the instruction instr upon evaluating to branch.