GitHub
CERT Secure Coding

TrustInSoft Analyzer

This page was automatically generated and should not be edited.

The information on this page was provided by outside contributors and has not been verified by SEI CERT.

The table below can be re-ordered, by clicking column headers.

Tool Version: 1.38

CheckerGuideline
alloca_boundsARR32-C. Ensure size arguments for variable length arrays are in a valid range
Body of function falls-throughMSC37-C. Ensure that control never reaches the end of a non-void function
comparable_char_blocksEXP42-C. Do not compare padding data
dangling_pointerDCL30-C. Declare objects with appropriate storage durations
dangling_pointerMEM30-C. Do not access freed memory
differing_blocksARR36-C. Do not subtract or compare two pointers that do not refer to the same array
division_by_zeroINT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
Exhaustively verified.FLP37-C. Do not use object representations to compare floating-point values
float_to_intFLP34-C. Ensure that floating-point conversions are within range of the new type
incompatible declarationDCL40-C. Do not create incompatible declarations of the same function or object
index_boundDCL38-C. Use the correct syntax when declaring a flexible array member
index_in_addressARR30-C. Do not form or use out-of-bounds pointers or array subscripts
index_in_addressARR39-C. Do not add or subtract a scaled integer to a pointer
initialisationDCL41-C. Do not declare variables inside a switch statement before the first case label
initialisationEXP33-C. Do not read uninitialized memory
mallocMEM31-C. Free dynamically allocated memory when no longer needed
match format and argumentsSTR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
match format and argumentsFIO47-C. Use valid format strings
mem_accessEXP34-C. Do not dereference null pointers
mem_accessEXP40-C. Do not modify constant objects
mem_accessSTR30-C. Do not attempt to modify string literals
mem_accessSTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
mem_accessMEM35-C. Allocate sufficient memory for an object
non-static declaration follows static declarationDCL36-C. Do not declare an identifier with conflicting linkage classifications
non-terminatingFLP30-C. Do not use floating-point variables as loop counters
out of bounds readARR38-C. Guarantee that library functions do not form invalid pointers
out of bounds readSTR34-C. Cast characters to unsigned char before converting to larger integer sizes
out-of-range argumentFLP32-C. Prevent or detect domain and range errors in math functions
pointer arithmeticSTR38-C. Do not confuse narrow and wide character strings and functions
pointer arithmeticERR33-C. Detect and handle standard library errors
separatedEXP30-C. Do not depend on the order of evaluation for side effects
shiftINT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
signed_downcastINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
signed_overflowINT32-C. Ensure that operations on signed integers do not result in overflow
type specifier missingDCL31-C. Declare identifiers before using them
unclassified ("free expects a free-able address")MEM34-C. Only free memory allocated dynamically
unclassified ("function type matches")EXP37-C. Call functions with the correct number and type of arguments
unsigned overflowINT30-C. Ensure that unsigned integer operations do not wrap
valid_charSTR37-C. Arguments to character-handling functions must be representable as an unsigned char
variadicMSC39-C. Do not call va_arg() on a va_list that has an indeterminate value