Update docs/codeql/codeql-language-guides/advanced-dataflow-scenarios-cpp.rst

Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
This commit is contained in:
Mathias Vorreiter Pedersen
2023-10-17 15:50:55 +02:00
committed by GitHub
parent 75a8f01f65
commit fa3053f7fa

View File

@@ -11,7 +11,7 @@ Data flow for C and C++ distinguish between the value of a pointer and the value
For almost all situations we only need to instantiate a dataflow configuration and specify our sources and sinks, and dataflow will handle everything for us.
However, when a write to a field is not visible to CodeQL (for example because it happens in a function whose definition is not in the database) we need to track the qualifier, and tell the dataflow library that it is okay to transfer from flow from the qualifier to the field access. This is done by adding an ``isAdditionalFlowStep`` predicate to the dataflow module.
However, when a write to a field is not visible to CodeQL (for example because it happens in a function whose definition is not in the database) we need to track the qualifier, and tell the dataflow library that it is okay to transfer flow from the qualifier to the field access. This is done by adding an ``isAdditionalFlowStep`` predicate to the dataflow module.
When adding additional flow steps involving pointers one needs to be careful about whether the dataflow step should flow from the pointer or its indirection. Similarly, care must be taken to decide whether the additional step should target a pointer or its indirection.