Skip to main content
assistive.skiplink.to.breadcrumbs
assistive.skiplink.to.header.menu
assistive.skiplink.to.action.menu
assistive.skiplink.to.quick.search
Log in
Confluence
Spaces
Hit enter to search
Help
Online Help
Keyboard Shortcuts
Feed Builder
What’s new
Available Gadgets
About Confluence
Log in
SEI CERT C Coding Standard
Pages
Boards
Space shortcuts
Dashboard
Secure Coding Home
Android
C
C++
Java
Perl
Page tree
Browse pages
Configure
Space tools
View Page
A
t
tachments (0)
Page History
Page Information
View in Hierarchy
View Source
Export to PDF
Export to Word
Pages
…
SEI CERT C Coding Standard
4 Back Matter
EE. Analyzers
Coverity
Page Information
Title:
Coverity
Author:
Robert Seacord
Jun 12, 2007
Last Changed by:
David Svoboda
Oct 14, 2024
Tiny Link:
(useful for email)
https://wiki.sei.cmu.edu/confluence/x/K9YxBQ
Export As:
Word
·
PDF
Incoming Links
SEI CERT C++ Coding Standard (2)
Page:
MEM50-CPP. Do not access freed memory
Page:
EXP50-CPP. Do not depend on the order of evaluation for side effects
SEI CERT C Coding Standard (82)
Page:
MEM31-C. Free dynamically allocated memory when no longer needed
Page:
DCL41-C. Do not declare variables inside a switch statement before the first case label
Page:
FIO45-C. Avoid TOCTOU race conditions while accessing files
Page:
CON41-C. Wrap functions that can fail spuriously in a loop
Page:
POS49-C. When data must be accessed by multiple threads, provide a mutex and guarantee no adjacent data is also accessed
Page:
INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Page:
ERR32-C. Do not rely on indeterminate values of errno
Page:
EXP37-C. Call functions with the correct number and type of arguments
Page:
STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
Page:
FLP36-C. Preserve precision when converting integral values to floating-point type
Page:
INT32-C. Ensure that operations on signed integers do not result in overflow
Page:
MEM01-C. Store a new value in pointers immediately after free()
Page:
INT30-C. Ensure that unsigned integer operations do not wrap
Page:
MEM00-C. Allocate and free memory in the same module, at the same level of abstraction
Page:
EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
Page:
DCL30-C. Declare objects with appropriate storage durations
Page:
DCL31-C. Declare identifiers before using them
Page:
DCL36-C. Do not declare an identifier with conflicting linkage classifications
Page:
ARR38-C. Guarantee that library functions do not form invalid pointers
Page:
EXP40-C. Do not modify constant objects
Page:
FIO21-C. Do not create temporary files in shared directories
Page:
FIO03-C. Do not make assumptions about fopen() and file creation
Page:
DCL40-C. Do not create incompatible declarations of the same function or object
Page:
MEM34-C. Only free memory allocated dynamically
Page:
MSC30-C. Do not use the rand() function for generating pseudorandom numbers
Page:
MSC13-C. Detect and remove unused values
Page:
ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
Page:
EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
Page:
EXP12-C. Do not ignore values returned by functions
Page:
MEM35-C. Allocate sufficient memory for an object
Page:
STR02-C. Sanitize data passed to complex subsystems
Page:
FLP30-C. Do not use floating-point variables as loop counters
Page:
CON35-C. Avoid deadlock by locking in a predefined order
Page:
EXP34-C. Do not dereference null pointers
Page:
INT34-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
Page:
FLP34-C. Ensure that floating-point conversions are within range of the new type
Page:
STR30-C. Do not attempt to modify string literals
Page:
ARR32-C. Ensure size arguments for variable length arrays are in a valid range
Page:
MEM05-C. Avoid large stack allocations
Page:
MSC07-C. Detect and remove dead code
Page:
MEM30-C. Do not access freed memory
Page:
PRE31-C. Avoid side effects in arguments to unsafe macros
Page:
WIN30-C. Properly pair allocation and deallocation functions
Page:
INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
Page:
CON37-C. Do not call signal() in a multithreaded program
Page:
CON43-C. Do not allow data races in multithreaded code
Page:
STR34-C. Cast characters to unsigned char before converting to larger integer sizes
Page:
CON01-C. Acquire and release synchronization primitives in the same module, at the same level of abstraction
Page:
POS54-C. Detect and handle POSIX library errors
Page:
FIO47-C. Use valid format strings
Page:
DCL37-C. Do not declare or define a reserved identifier
Page:
POS30-C. Use the readlink() function properly
Page:
FIO38-C. Do not copy a FILE object
Page:
FIO46-C. Do not access a closed file
Page:
INT36-C. Converting a pointer to integer or integer to pointer
Page:
CON40-C. Do not refer to an atomic variable twice in an expression
Page:
EXP36-C. Do not cast pointers into more strictly aligned pointer types
Page:
MSC11-C. Incorporate diagnostic tests using assertions
Page:
EXP32-C. Do not access a volatile object through a nonvolatile reference
Page:
ARR39-C. Do not add or subtract a scaled integer to a pointer
Page:
CON32-C. Prevent data races when accessing bit-fields from multiple threads
Page:
MSC17-C. Finish every set of statements associated with a case label with a break statement
Page:
INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
Page:
EXP33-C. Do not read uninitialized memory
Page:
ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
Page:
ERR33-C. Detect and handle standard library errors
Page:
FIO01-C. Be careful using functions that use file names for identification
Page:
FIO42-C. Close files when they are no longer needed
Page:
ERR30-C. Take care when reading errno
Page:
EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
Page:
POS35-C. Avoid race conditions while checking for the existence of a symbolic link
Page:
EXP30-C. Do not depend on the order of evaluation for side effects
Page:
MSC12-C. Detect and remove code that has no effect or is never executed
Page:
STR38-C. Do not confuse narrow and wide character strings and functions
Page:
EXP46-C. Do not use a bitwise operator with a Boolean-like operand
Page:
EXP16-C. Do not compare function pointers to constant values
Page:
MSC37-C. Ensure that control never reaches the end of a non-void function
Page:
FIO34-C. Distinguish between characters read from a file and EOF or WEOF
Page:
CON30-C. Clean up thread-specific storage
Page:
ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Page:
ENV33-C. Do not call system()
Page:
FIO30-C. Exclude user input from format strings
Hierarchy
Parent Page
Page:
EE. Analyzers
Labels
Global Labels (1)
analyzer
Recent Changes
Time
Editor
Oct 14, 2024 07:27
David Svoboda
View Changes
Feb 08, 2024 09:06
David Svoboda
View Changes
Sep 27, 2023 08:25
David Svoboda
View Changes
Jul 13, 2023 13:28
David Svoboda
View Changes
Jun 06, 2023 12:24
David Svoboda
View Page History
Outgoing Links
External Links (83)
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
SEI CERT C Coding Standard (1)
Page:
Coverity_V
Overview
Content Tools
{"serverDuration": 199, "requestCorrelationId": "22606bf1d3053197"}