GitHub
CERT Secure Coding

Coverity

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: 2017.07

CheckerGuideline
ALLOC_FREE_MISMATCHMEM31-C. Free dynamically allocated memory when no longer needed
ALLOC_FREE_MISMATCHCON30-C. Clean up thread-specific storage
ALLOC_FREE_MISMATCH (needs improvement)WIN30-C. Properly pair allocation and deallocation functions
ARRAY_VS_SINGLETONARR30-C. Do not form or use out-of-bounds pointers or array subscripts
ARRAY_VS_SINGLETONARR37-C. Do not add or subtract an integer to a pointer to a non-array object
ASSERT_SIDE_EFFECTMSC11-C. Incorporate diagnostic tests using assertions
ASSERT_SIDE_EFFECTSPRE31-C. Avoid side effects in arguments to unsafe macros
BAD_ALLOC_ARITHMETICARR38-C. Guarantee that library functions do not form invalid pointers
BAD_ALLOC_STRLENARR38-C. Guarantee that library functions do not form invalid pointers
BAD_ALLOC_STRLENMEM35-C. Allocate sufficient memory for an object
BAD_CHECK_OF_WAIT_CONDCON41-C. Wrap functions that can fail spuriously in a loop
BAD_COMPAREEXP16-C. Do not compare function pointers to constant values
BAD_FREEMEM34-C. Only free memory allocated dynamically
BAD_SHIFTINT32-C. Ensure that operations on signed integers do not result in overflow
BAD_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
BAD_SIZEOFARR38-C. Guarantee that library functions do not form invalid pointers
BAD_SIZEOFARR39-C. Do not add or subtract a scaled integer to a pointer
BUFFER_SIZEARR30-C. Do not form or use out-of-bounds pointers or array subscripts
BUFFER_SIZEARR38-C. Guarantee that library functions do not form invalid pointers
BUFFER_SIZESTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
CHAR_IOFIO34-C. Distinguish between characters read from a file and EOF or WEOF
CHECKED_RETURNEXP34-C. Do not dereference null pointers
CHECKED_RETURNPOS54-C. Detect and handle POSIX library errors
CHECKED_RETURNEXP12-C. Do not ignore values returned by functions
CONSTANT_EXPRESSION_RESULTEXP46-C. Do not use a bitwise operator with a Boolean-like operand
DEADCODEMSC07-C. Detect and remove dead code
DEADCODEMSC12-C. Detect and remove code that has no effect or is never executed
DIVIDE_BY_ZEROINT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
DONT_CALLENV33-C. Do not call system()
DONTCALLMSC30-C. Do not use the rand() function for generating pseudorandom numbers
EVALUATION_ORDEREXP30-C. Do not depend on the order of evaluation for side effects
EVALUATION_ORDEREXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
EVALUATION_ORDER (partial)CON40-C. Do not refer to an atomic variable twice in an expression
FORWARD_NULLEXP34-C. Do not dereference null pointers
INTEGER_OVERFLOWINT30-C. Ensure that unsigned integer operations do not wrap
LOCKCON01-C. Acquire and release synchronization primitives in the same module, at the same level of abstraction
MISRA 2012 Rule 13.2CON40-C. Do not refer to an atomic variable twice in an expression
MISRA C 2004 17.2ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
MISRA C 2004 17.3ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
MISRA C 2004 Rule 10.x (needs investigation)FLP36-C. Preserve precision when converting integral values to floating-point type
MISRA C 2004 Rule 11.4EXP36-C. Do not cast pointers into more strictly aligned pointer types
MISRA C 2004 Rule 11.5EXP40-C. Do not modify constant objects
MISRA C 2004 Rule 12.3EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
MISRA C 2004 Rule 13.4FLP30-C. Do not use floating-point variables as loop counters
MISRA C 2004 Rule 15.0DCL41-C. Do not declare variables inside a switch statement before the first case label
MISRA C 2004 Rule 20.1DCL37-C. Do not declare or define a reserved identifier
MISRA C 2004 Rule 20.2DCL37-C. Do not declare or define a reserved identifier
MISRA C 2012 18.2ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
MISRA C 2012 18.3ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
MISRA C 2012 Rule 8.1DCL31-C. Declare identifiers before using them
MISRA C 2012 Rule 8.2EXP37-C. Call functions with the correct number and type of arguments
MISRA C 2012 Rule 8.4DCL40-C. Do not create incompatible declarations of the same function or object
MISRA C 2012 Rule 8.14EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
MISRA C 2012 Rule 10.1STR34-C. Cast characters to unsigned char before converting to larger integer sizes
MISRA C 2012 Rule 10.2STR34-C. Cast characters to unsigned char before converting to larger integer sizes
MISRA C 2012 Rule 10.3STR34-C. Cast characters to unsigned char before converting to larger integer sizes
MISRA C 2012 Rule 10.4STR34-C. Cast characters to unsigned char before converting to larger integer sizes
MISRA C 2012 Rule 11.1EXP36-C. Do not cast pointers into more strictly aligned pointer types
MISRA C 2012 Rule 11.2EXP36-C. Do not cast pointers into more strictly aligned pointer types
MISRA C 2012 Rule 11.5EXP36-C. Do not cast pointers into more strictly aligned pointer types
MISRA C 2012 Rule 11.7EXP36-C. Do not cast pointers into more strictly aligned pointer types
MISRA C 2012 Rule 11.8EXP32-C. Do not access a volatile object through a nonvolatile reference
MISRA C 2012 Rule 14.1FLP30-C. Do not use floating-point variables as loop counters
MISRA C 2012 Rule 16.1DCL41-C. Do not declare variables inside a switch statement before the first case label
MISRA C 2012 Rule 17.3EXP37-C. Call functions with the correct number and type of arguments
MISRA C 2012 Rule 21.1DCL37-C. Do not declare or define a reserved identifier
MISRA C 2012 Rule 21.2DCL37-C. Do not declare or define a reserved identifier
MISRA C 2012 Rule 21.5CON37-C. Do not call signal() in a multithreaded program
MISRA C 2012 Rule 22.5FIO38-C. Do not copy a FILE object
MISRA C 2012 Rule 22.8ERR30-C. Take care when reading errno
MISRA C 2012 Rule 22.8ERR32-C. Do not rely on indeterminate values of errno
MISRA C 2012 Rule 22.8ERR33-C. Detect and handle standard library errors
MISRA C 2012 Rule 22.9ERR30-C. Take care when reading errno
MISRA C 2012 Rule 22.9ERR32-C. Do not rely on indeterminate values of errno
MISRA C 2012 Rule 22.9ERR33-C. Detect and handle standard library errors
MISRA C 2012 Rule 22.10ERR30-C. Take care when reading errno
MISRA C 2012 Rule 22.10ERR32-C. Do not rely on indeterminate values of errno
MISRA C 2012 Rule 22.10ERR33-C. Detect and handle standard library errors
MISRA_CASTINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
MISRA_CAST (needs verification)FLP34-C. Ensure that floating-point conversions are within range of the new type
MISSING_BREAKMSC17-C. Finish every set of statements associated with a case label with a break statement
MISSING_LOCKCON32-C. Prevent data races when accessing bit-fields from multiple threads
MISSING_LOCK (partial)CON43-C. Do not allow data races in multithreaded code
MISSING_RETURNMSC37-C. Ensure that control never reaches the end of a non-void function
NEGATIVE_RETURNSINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
NEGATIVE_RETURNSARR30-C. Do not form or use out-of-bounds pointers or array subscripts
NO_EFFECTMSC12-C. Detect and remove code that has no effect or is never executed
NULL_RETURNSEXP34-C. Do not dereference null pointers
OPEN_ARGSFIO03-C. Do not make assumptions about fopen() and file creation
ORDER_REVERSALCON35-C. Avoid deadlock by locking in a predefined order
OVERFLOW_BEFORE_WIDENINT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
OVERRUNARR30-C. Do not form or use out-of-bounds pointers or array subscripts
OVERRUNSTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
PWEXP40-C. Do not modify constant objects
PWSTR30-C. Do not attempt to modify string literals
PWSTR38-C. Do not confuse narrow and wide character strings and functions
PWFIO47-C. Use valid format strings
PW.LINKAGE_CONFLICTDCL36-C. Do not declare an identifier with conflicting linkage classifications
PW.POINTER_CONVERSION_LOSES_BITSINT36-C. Converting a pointer to integer or integer to pointer
READLINKPOS30-C. Use the readlink() function properly
RESOURCE_LEAKMEM31-C. Free dynamically allocated memory when no longer needed
RESOURCE_LEAKMEM00-C. Allocate and free memory in the same module, at the same level of abstraction
RESOURCE_LEAK (partial)FIO42-C. Close files when they are no longer needed
RETURN_LOCALDCL30-C. Declare objects with appropriate storage durations
REVERSE_INULLEXP34-C. Do not dereference null pointers
REVERSE_NEGATIVEINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
REVERSE_NEGATIVEARR32-C. Ensure size arguments for variable length arrays are in a valid range
SECURE_TEMPFIO21-C. Do not create temporary files in shared directories
SIZECHECK (deprecated)MEM35-C. Allocate sufficient memory for an object
STACK_USEMEM05-C. Avoid large stack allocations
STRING_NULLSTR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
STRING_OVERFLOWSTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
STRING_SIZESTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
TAINTED_SCALARINT32-C. Ensure that operations on signed integers do not result in overflow
TAINTED_STRINGFIO30-C. Exclude user input from format strings
TAINTED_STRINGSTR02-C. Sanitize data passed to complex subsystems
TOCTOUFIO45-C. Avoid TOCTOU race conditions while accessing files
TOCTOUPOS35-C. Avoid race conditions while checking for the existence of a symbolic link
TOCTOUFIO01-C. Be careful using functions that use file names for identification
UNINITEXP33-C. Do not read uninitialized memory
UNREACHABLEMSC07-C. Detect and remove dead code
UNREACHABLEMSC12-C. Detect and remove code that has no effect or is never executed
UNUSED_VALUEMSC13-C. Detect and remove unused values
USE_AFTER_FREEMEM30-C. Do not access freed memory
USE_AFTER_FREEFIO46-C. Do not access a closed file
USE_AFTER_FREEMEM01-C. Store a new value in pointers immediately after free()
Various concurrency checkersPOS49-C. When data must be accessed by multiple threads, provide a mutex and guarantee no adjacent data is also accessed
VOLATILE_ATOICITY (possible)CON40-C. Do not refer to an atomic variable twice in an expression