Module Printf
A library for dealing with printf
-like formatting strings.
Import path
import semmle.code.cpp.commons.Printf
Imports
CommonType | |
FormattingFunction |
Provides a class for modeling |
StringAnalysis |
Provides a class for calculating the possible length of string expressions. |
Type |
Provides a hierarchy of classes for modeling C/C++ types. |
Predicates
primitiveVariadicFormatter |
A standard function such as |
variadicFormatter |
Holds if |
Classes
AttributeFormattingFunction |
A function that can be identified as a |
BufferWriteEstimationReason |
A reason for a specific buffer write size estimate. |
FormatLiteral |
A class to represent format strings that occur as arguments to invocations of formatting functions. |
FormattingFunctionCall |
A call to one of the formatting functions. |
PrintfFormatAttribute | |
TypeBoundsAnalysis |
The estimation comes from rough bounds just based on the type (e.g. |
UnspecifiedEstimateReason |
No particular reason given. This is currently used for backward compatibility so that classes derived from BufferWrite and overriding |
UserDefinedFormattingFunction |
A function not in the standard library which takes a |
ValueFlowAnalysis |
The estimation comes from non trivial bounds found via actual flow analysis. For example |
WidenedValueFlowAnalysis |
The estimation comes from non trivial bounds found via actual flow analysis, but a widening approximation might have been used for variables in loops. For example |