You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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

Checker

Guideline

FLP30-C. Do not use floating-point variables as loop counters
FLP32-C. Prevent or detect domain and range errors in math functions
FLP34-C. Ensure that floating-point conversions are within range of the new type
FLP36-C. Preserve precision when converting integral values to floating-point type
FLP37-C. Do not use object representations to compare floating-point values
ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
ARR32-C. Ensure size arguments for variable length arrays are in a valid range
ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
ARR38-C. Guarantee that library functions do not form invalid pointers
ARR39-C. Do not add or subtract a scaled integer to a pointer
STR30-C. Do not attempt to modify string literals
STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
STR34-C. Cast characters to unsigned char before converting to larger integer sizes
STR37-C. Arguments to character-handling functions must be representable as an unsigned char
STR38-C. Do not confuse narrow and wide character strings and functions
MEM30-C. Do not access freed memory
MEM31-C. Free dynamically allocated memory when no longer needed
MEM33-C. Allocate and copy structures containing a flexible array member dynamically
MEM34-C. Only free memory allocated dynamically
MEM35-C. Allocate sufficient memory for an object
MEM36-C. Do not modify the alignment of objects by calling realloc()
FIO30-C. Exclude user input from format strings
FIO32-C. Do not perform operations on devices that are only appropriate for files
FIO34-C. Distinguish between characters read from a file and EOF or WEOF
FIO37-C. Do not assume that fgets() or fgetws() returns a nonempty string when successful
FIO38-C. Do not copy a FILE object
FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call
FIO40-C. Reset strings on fgets() or fgetws() failure
FIO41-C. Do not call getc(), putc(), getwc(), or putwc() with a stream argument that has side effects
FIO42-C. Close files when they are no longer needed
FIO44-C. Only use values for fsetpos() that are returned from fgetpos()
FIO45-C. Avoid TOCTOU race conditions while accessing files
FIO46-C. Do not access a closed file
FIO47-C. Use valid format strings
ENV30-C. Do not modify the object referenced by the return value of certain functions
ENV31-C. Do not rely on an environment pointer following an operation that may invalidate it
ENV32-C. All exit handlers must return normally
ENV33-C. Do not call system()
ENV34-C. Do not store pointers returned by certain functions
SIG30-C. Call only asynchronous-safe functions within signal handlers
SIG31-C. Do not access shared objects in signal handlers
SIG34-C. Do not call signal() from within interruptible signal handlers
SIG35-C. Do not return from a computational exception signal handler
ERR30-C. Set errno to zero before calling a library function known to set errno, and check errno only after the function returns a value indicating failure
ERR32-C. Do not rely on indeterminate values of errno
ERR33-C. Detect and handle standard library errors
ERR34-C. Detect errors when converting a string to a number
CON30-C. Clean up thread-specific storage
CON31-C. Do not destroy a mutex while it is locked
CON32-C. Prevent data races when accessing bit-fields from multiple threads
CON33-C. Avoid race conditions when using library functions
CON34-C. Declare objects shared between threads with appropriate storage durations
CON35-C. Avoid deadlock by locking in a predefined order
CON36-C. Wrap functions that can spuriously wake up in a loop
CON37-C. Do not call signal() in a multithreaded program
CON38-C. Preserve thread safety and liveness when using condition variables
CON39-C. Do not join or detach a thread that was previously joined or detached
CON40-C. Do not refer to an atomic variable twice in an expression
CON41-C. Wrap functions that can fail spuriously in a loop
CON43-C. Do not allow data races in multithreaded code
MSC30-C. Do not use the rand() function for generating pseudorandom numbers
MSC32-C. Properly seed pseudorandom number generators
MSC33-C. Do not pass invalid data to the asctime() function
MSC37-C. Ensure that control never reaches the end of a non-void function
MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
MSC40-C. Do not violate constraints
MSC41-C. Never hard code sensitive information
POS30-C. Use the readlink() function properly
POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument
POS35-C. Avoid race conditions while checking for the existence of a symbolic link
POS36-C. Observe correct revocation order while relinquishing privileges
POS37-C. Ensure that privilege relinquishment is successful
POS38-C. Beware of race conditions when using fork and file descriptors
POS39-C. Use the correct byte ordering when transferring data between systems
POS44-C. Do not use signals to terminate threads
POS47-C. Do not use threads that can be canceled asynchronously
POS48-C. Do not unlock or destroy another POSIX thread's mutex
POS49-C. When data must be accessed by multiple threads, provide a mutex and guarantee no adjacent data is also accessed
POS50-C. Declare objects shared between POSIX threads with appropriate storage durations
POS51-C. Avoid deadlock with POSIX threads by locking in predefined order
POS52-C. Do not perform operations that can block while holding a POSIX lock
POS53-C. Do not use more than one mutex for concurrent waiting operations on a condition variable
POS54-C. Detect and handle POSIX library errors
ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
DCL00-C. Const-qualify immutable objects
DCL01-C. Do not reuse variable names in subscopes
DCL05-C. Use typedefs of non-pointer types only
DCL06-C. Use meaningful symbolic constants to represent literal values
DCL07-C. Include the appropriate type information in function declarators
DCL10-C. Maintain the contract between the writer and caller of variadic functions
DCL11-C. Understand the type issues associated with variadic functions
DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
DCL16-C. Use "L," not "l," to indicate a long value
DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
DCL19-C. Minimize the scope of variables and functions
DCL20-C. Explicitly specify void when a function accepts no arguments
DCL21-C. Understand the storage of compound literals
DCL23-C. Guarantee that mutually visible identifiers are unique
ENV03-C. Sanitize the environment when invoking external programs
EXP00-C. Use parentheses for precedence of operation
EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
EXP03-C. Do not assume the size of a structure is the sum of the sizes of its members
EXP05-C. Do not cast away a const qualification
EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
EXP08-C. Ensure pointer arithmetic is used correctly
EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
EXP11-C. Do not make assumptions regarding the layout of structures with bit-fields
EXP12-C. Do not ignore values returned by functions
EXP13-C. Treat relational and equality operators as if they were nonassociative
EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
EXP16-C. Do not compare function pointers to constant values
EXP19-C. Use braces for the body of an if, for, or while statement
EXP20-C. Perform explicit tests to determine success, true and false, and equality
FIO01-C. Be careful using functions that use file names for identification
FIO03-C. Do not make assumptions about fopen() and file creation
FIO06-C. Create files with appropriate access permissions
FIO08-C. Take care when calling remove() on an open file
FIO10-C. Take care when using the rename() function
FIO21-C. Do not create temporary files in shared directories
FLP02-C. Avoid using floating-point numbers when precise computation is needed
FLP06-C. Convert integers to floating point for floating-point operations
INT02-C. Understand integer conversion rules
INT04-C. Enforce limits on integer values originating from tainted sources
INT05-C. Do not use input functions to convert character data if they cannot handle all possible inputs
INT07-C. Use only explicitly signed or unsigned char type for numeric values
INT08-C. Verify that all integer values are in range
INT09-C. Ensure enumeration constants map to unique values
INT10-C. Do not assume a positive remainder when using the % operator
INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
INT13-C. Use bitwise operators only on unsigned operands
INT16-C. Do not make assumptions about representation of signed integers
INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
MEM02-C. Immediately cast the result of a memory allocation function call into a pointer to the allocated type
MEM03-C. Clear sensitive information stored in reusable resources
MEM05-C. Avoid large stack allocations
MSC01-C. Strive for logical completeness
MSC04-C. Use comments consistently and in a readable fashion
MSC07-C. Detect and remove dead code
MSC09-C. Character encoding: Use subset of ASCII for safety
MSC12-C. Detect and remove code that has no effect or is never executed
MSC13-C. Detect and remove unused values
MSC14-C. Do not introduce unnecessary platform dependencies
MSC15-C. Do not depend on undefined behavior
MSC17-C. Finish every set of statements associated with a case label with a break statement
MSC20-C. Do not use a switch statement to transfer control into a complex block
PRE00-C. Prefer inline or static functions to function-like macros
PRE01-C. Use parentheses within macros around parameter names
PRE02-C. Macro replacement lists should be parenthesized
PRE03-C. Prefer typedefs to defines for encoding non-pointer types
PRE04-C. Do not reuse a standard header file name
PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
PRE06-C. Enclose header files in an include guard
PRE07-C. Avoid using repeated question marks
PRE08-C. Guarantee that header file names are unique
PRE09-C. Do not replace secure functions with deprecated or obsolescent functions
PRE10-C. Wrap multistatement macros in a do-while loop
PRE11-C. Do not conclude macro definitions with a semicolon
PRE12-C. Do not define unsafe macros
SIG00-C. Mask signals handled by noninterruptible signal handlers
SIG01-C. Understand implementation-specific details regarding signal handler persistence
STR04-C. Use plain char for characters in the basic character set
STR05-C. Use pointers to const when referring to string literals
STR06-C. Do not assume that strtok() leaves the parse string unchanged
STR07-C. Use the bounds-checking interfaces for string manipulation
STR09-C. Don't assume numeric values for expressions with type plain character
STR10-C. Do not concatenate different type of string literals
STR11-C. Do not specify the bound of a character array initialized with a string literal
0303 INT36-C. Converting a pointer to integer or integer to pointer
0305 INT36-C. Converting a pointer to integer or integer to pointer
0306 INT36-C. Converting a pointer to integer or integer to pointer
0309 INT36-C. Converting a pointer to integer or integer to pointer
0310 EXP39-C. Do not access a variable through a pointer of an incompatible type
0312 EXP32-C. Do not access a volatile object through a nonvolatile reference
0324 INT36-C. Converting a pointer to integer or integer to pointer
0326 EXP36-C. Do not cast pointers into more strictly aligned pointer types
0326 INT36-C. Converting a pointer to integer or integer to pointer
0360 INT36-C. Converting a pointer to integer or integer to pointer
0361 INT36-C. Converting a pointer to integer or integer to pointer
0362 INT36-C. Converting a pointer to integer or integer to pointer
0400 EXP30-C. Do not depend on the order of evaluation for side effects
0401 EXP30-C. Do not depend on the order of evaluation for side effects
0402 EXP30-C. Do not depend on the order of evaluation for side effects
0403 EXP30-C. Do not depend on the order of evaluation for side effects
0403 EXP37-C. Call functions with the correct number and type of arguments
0404 EXP30-C. Do not depend on the order of evaluation for side effects
0405 EXP30-C. Do not depend on the order of evaluation for side effects
0450 EXP35-C. Do not modify objects with temporary lifetime
0455 EXP35-C. Do not modify objects with temporary lifetime
0459 EXP35-C. Do not modify objects with temporary lifetime
0464 EXP35-C. Do not modify objects with temporary lifetime
0465 EXP35-C. Do not modify objects with temporary lifetime
0499 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
0562 EXP32-C. Do not access a volatile object through a nonvolatile reference
0563 EXP32-C. Do not access a volatile object through a nonvolatile reference
0563 EXP40-C. Do not modify constant objects
0582 INT35-C. Use correct integer precisions
0603 DCL37-C. Do not declare or define a reserved identifier
0673 EXP32-C. Do not access a volatile object through a nonvolatile reference
0674 EXP32-C. Do not access a volatile object through a nonvolatile reference
0751 EXP39-C. Do not access a variable through a pointer of an incompatible type
0778 DCL40-C. Do not create incompatible declarations of the same function or object
0779 DCL40-C. Do not create incompatible declarations of the same function or object
0789 DCL40-C. Do not create incompatible declarations of the same function or object
1039 DCL38-C. Use the correct syntax when declaring a flexible array member
1331 EXP37-C. Call functions with the correct number and type of arguments
1332 EXP37-C. Call functions with the correct number and type of arguments
1333 EXP37-C. Call functions with the correct number and type of arguments
1510 DCL40-C. Do not create incompatible declarations of the same function or object
2008 DCL41-C. Do not declare variables inside a switch statement before the first case label
2050 DCL31-C. Declare identifiers before using them
2051 DCL31-C. Declare identifiers before using them
2516 DCL30-C. Declare objects with appropriate storage durations
2527 DCL30-C. Declare objects with appropriate storage durations
2528 DCL30-C. Declare objects with appropriate storage durations
2726 EXP33-C. Do not read uninitialized memory
2727 EXP33-C. Do not read uninitialized memory
2728 EXP33-C. Do not read uninitialized memory
2790 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
2791 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
2791 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
2792 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
2792 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
2793 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
2793 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
2800 INT32-C. Ensure that operations on signed integers do not result in overflow
2800 INT32-C. Ensure that operations on signed integers do not result in overflow
2801 INT32-C. Ensure that operations on signed integers do not result in overflow
2801 INT32-C. Ensure that operations on signed integers do not result in overflow
2802 INT32-C. Ensure that operations on signed integers do not result in overflow
2802 INT32-C. Ensure that operations on signed integers do not result in overflow
2803 INT32-C. Ensure that operations on signed integers do not result in overflow
2803 INT32-C. Ensure that operations on signed integers do not result in overflow
2810 EXP34-C. Do not dereference null pointers
2810 EXP34-C. Do not dereference null pointers
2811 EXP34-C. Do not dereference null pointers
2811 EXP34-C. Do not dereference null pointers
2812 EXP34-C. Do not dereference null pointers
2812 EXP34-C. Do not dereference null pointers
2813 EXP34-C. Do not dereference null pointers
2813 EXP34-C. Do not dereference null pointers
2830 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2831 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2831 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2832 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2832 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2833 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2833 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2850 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2850 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2851 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2851 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2852 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2852 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2853 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2853 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2855 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2855 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2856 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2856 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2857 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2857 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2858 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2858 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2860 INT32-C. Ensure that operations on signed integers do not result in overflow
2860 INT32-C. Ensure that operations on signed integers do not result in overflow
2861 INT32-C. Ensure that operations on signed integers do not result in overflow
2861 INT32-C. Ensure that operations on signed integers do not result in overflow
2862 INT32-C. Ensure that operations on signed integers do not result in overflow
2862 INT32-C. Ensure that operations on signed integers do not result in overflow
2863 INT32-C. Ensure that operations on signed integers do not result in overflow
2863 INT32-C. Ensure that operations on signed integers do not result in overflow
2882 DCL41-C. Do not declare variables inside a switch statement before the first case label
2890 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2890 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2891 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2891 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2892 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2892 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2893 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2893 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2895 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2895 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2896 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2896 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2897 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2897 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2898 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2898 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2900 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2900 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2901 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2901 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2902 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2902 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2903 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2903 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2905 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2905 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2906 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2906 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2907 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2907 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2908 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2908 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
2910 INT30-C. Ensure that unsigned integer operations do not wrap
2910 INT30-C. Ensure that unsigned integer operations do not wrap
2911 INT30-C. Ensure that unsigned integer operations do not wrap
2911 INT30-C. Ensure that unsigned integer operations do not wrap
2912 INT30-C. Ensure that unsigned integer operations do not wrap
2912 INT30-C. Ensure that unsigned integer operations do not wrap
2913 INT30-C. Ensure that unsigned integer operations do not wrap
2913 INT30-C. Ensure that unsigned integer operations do not wrap
2961 EXP33-C. Do not read uninitialized memory
2962 EXP33-C. Do not read uninitialized memory
2963 EXP33-C. Do not read uninitialized memory
2966 EXP33-C. Do not read uninitialized memory
2967 EXP33-C. Do not read uninitialized memory
2968 EXP33-C. Do not read uninitialized memory
2971 EXP33-C. Do not read uninitialized memory
2972 EXP33-C. Do not read uninitialized memory
2973 EXP33-C. Do not read uninitialized memory
2976 EXP33-C. Do not read uninitialized memory
2977 EXP33-C. Do not read uninitialized memory
2978 EXP33-C. Do not read uninitialized memory
3000 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
3002 EXP37-C. Call functions with the correct number and type of arguments
3003 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
3010 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
3017 EXP39-C. Do not access a variable through a pointer of an incompatible type
3030 EXP39-C. Do not access a variable through a pointer of an incompatible type
3033 EXP36-C. Do not cast pointers into more strictly aligned pointer types
3033 EXP39-C. Do not access a variable through a pointer of an incompatible type
3038 EXP36-C. Do not cast pointers into more strictly aligned pointer types
3040 INT36-C. Converting a pointer to integer or integer to pointer
3041 INT36-C. Converting a pointer to integer or integer to pointer
3042 INT36-C. Converting a pointer to integer or integer to pointer
3043 INT36-C. Converting a pointer to integer or integer to pointer
3044 INT36-C. Converting a pointer to integer or integer to pointer
3045 INT36-C. Converting a pointer to integer or integer to pointer
3046 INT36-C. Converting a pointer to integer or integer to pointer
3047 INT36-C. Converting a pointer to integer or integer to pointer
3048 INT36-C. Converting a pointer to integer or integer to pointer
3115 INT35-C. Use correct integer precisions
3225 DCL30-C. Declare objects with appropriate storage durations
3230 DCL30-C. Declare objects with appropriate storage durations
3234 DCL41-C. Do not declare variables inside a switch statement before the first case label
3305 EXP36-C. Do not cast pointers into more strictly aligned pointer types
3305 EXP39-C. Do not access a variable through a pointer of an incompatible type
3307 EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
3314 EXP45-C. Do not perform assignments in selection statements
3320 EXP37-C. Call functions with the correct number and type of arguments
3321 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
3322 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
3326 EXP45-C. Do not perform assignments in selection statements
3335 DCL31-C. Declare identifiers before using them
3335 EXP37-C. Call functions with the correct number and type of arguments
3344 EXP45-C. Do not perform assignments in selection statements
3344 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
3383 INT30-C. Ensure that unsigned integer operations do not wrap
3384 INT30-C. Ensure that unsigned integer operations do not wrap
3385 INT30-C. Ensure that unsigned integer operations do not wrap
3386 INT30-C. Ensure that unsigned integer operations do not wrap
3416 EXP45-C. Do not perform assignments in selection statements
3709 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
3808 EXP35-C. Do not modify objects with temporary lifetime
4026 DCL30-C. Declare objects with appropriate storage durations
4071 EXP45-C. Do not perform assignments in selection statements
4074 EXP45-C. Do not perform assignments in selection statements
4140 DCL30-C. Declare objects with appropriate storage durations
4502 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
4600 DCL37-C. Do not declare or define a reserved identifier
4601 DCL37-C. Do not declare or define a reserved identifier
4602 DCL37-C. Do not declare or define a reserved identifier
4603 DCL37-C. Do not declare or define a reserved identifier
4604 DCL37-C. Do not declare or define a reserved identifier
4605 DCL37-C. Do not declare or define a reserved identifier
4606 DCL37-C. Do not declare or define a reserved identifier
4607 DCL37-C. Do not declare or define a reserved identifier
4608 DCL37-C. Do not declare or define a reserved identifier
4620 DCL37-C. Do not declare or define a reserved identifier
4621 DCL37-C. Do not declare or define a reserved identifier
4622 DCL37-C. Do not declare or define a reserved identifier
4623 DCL37-C. Do not declare or define a reserved identifier
4624 DCL30-C. Declare objects with appropriate storage durations
4624 DCL37-C. Do not declare or define a reserved identifier
4629 DCL30-C. Declare objects with appropriate storage durations
4640 DCL37-C. Do not declare or define a reserved identifier
4641 DCL37-C. Do not declare or define a reserved identifier
4642 DCL37-C. Do not declare or define a reserved identifier
4643 DCL37-C. Do not declare or define a reserved identifier
4644 DCL37-C. Do not declare or define a reserved identifier
4645 DCL37-C. Do not declare or define a reserved identifier
4726 EXP42-C. Do not compare padding data
4727 EXP42-C. Do not compare padding data
4727 EXP42-C. Do not compare padding data
4728 EXP42-C. Do not compare padding data
4728 EXP42-C. Do not compare padding data
4729 EXP42-C. Do not compare padding data
4729 EXP42-C. Do not compare padding data
4901 EXP47-C. Do not call va_arg with an argument of the incorrect type
4901 EXP47-C. Do not call va_arg with an argument of the incorrect type
4902 EXP47-C. Do not call va_arg with an argument of the incorrect type
4902 EXP47-C. Do not call va_arg with an argument of the incorrect type
4903 EXP47-C. Do not call va_arg with an argument of the incorrect type
4903 EXP47-C. Do not call va_arg with an argument of the incorrect type
4904 EXP47-C. Do not call va_arg with an argument of the incorrect type
4904 EXP47-C. Do not call va_arg with an argument of the incorrect type
4941 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
4941 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
4942 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
4942 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
4943 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
4943 DCL39-C. Avoid information leakage when passing a structure across a trust boundary
C++: DCL39-C. Avoid information leakage when passing a structure across a trust boundary
C++: EXP34-C. Do not dereference null pointers
C++: EXP36-C. Do not cast pointers into more strictly aligned pointer types
C++: EXP37-C. Call functions with the correct number and type of arguments
C++: EXP39-C. Do not access a variable through a pointer of an incompatible type
C++: EXP45-C. Do not perform assignments in selection statements
C++: EXP46-C. Do not use a bitwise operator with a Boolean-like operand
C++: EXP47-C. Do not call va_arg with an argument of the incorrect type
C++: INT30-C. Ensure that unsigned integer operations do not wrap
C++: INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++: INT32-C. Ensure that operations on signed integers do not result in overflow
C++: INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
C++: 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
C++: INT35-C. Use correct integer precisions
C++: INT36-C. Converting a pointer to integer or integer to pointer
C++: 0064 PRE30-C. Do not create a universal character name through concatenation
C++: 0080 PRE30-C. Do not create a universal character name through concatenation
C++: 1072 PRE32-C. Do not use preprocessor directives in invocations of function-like macros
C++: 1510 DCL40-C. Do not create incompatible declarations of the same function or object
C++: 2515 DCL30-C. Declare objects with appropriate storage durations
C++: 3225 PRE31-C. Avoid side effects in arguments to unsafe macros
C++: 3226 PRE31-C. Avoid side effects in arguments to unsafe macros
C++: 3227 PRE31-C. Avoid side effects in arguments to unsafe macros
C++: 3228 PRE31-C. Avoid side effects in arguments to unsafe macros
C++: 3229 PRE31-C. Avoid side effects in arguments to unsafe macros
C++: 3807 EXP35-C. Do not modify objects with temporary lifetime
C++: 4726 EXP42-C. Do not compare padding data
C: DCL39-C. Avoid information leakage when passing a structure across a trust boundary
C: DCL41-C. Do not declare variables inside a switch statement before the first case label
C: EXP30-C. Do not depend on the order of evaluation for side effects
C: EXP32-C. Do not access a volatile object through a nonvolatile reference
C: EXP33-C. Do not read uninitialized memory
C: EXP34-C. Do not dereference null pointers
C: EXP35-C. Do not modify objects with temporary lifetime
C: EXP36-C. Do not cast pointers into more strictly aligned pointer types
C: EXP37-C. Call functions with the correct number and type of arguments
C: EXP39-C. Do not access a variable through a pointer of an incompatible type
C: EXP40-C. Do not modify constant objects
C: EXP42-C. Do not compare padding data
C: EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
C: EXP45-C. Do not perform assignments in selection statements
C: EXP46-C. Do not use a bitwise operator with a Boolean-like operand
C: EXP47-C. Do not call va_arg with an argument of the incorrect type
C: INT30-C. Ensure that unsigned integer operations do not wrap
C: INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C: INT32-C. Ensure that operations on signed integers do not result in overflow
C: INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
C: 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
C: INT35-C. Use correct integer precisions
C: INT36-C. Converting a pointer to integer or integer to pointer
C: 0434 DCL31-C. Declare identifiers before using them
C: 0602 DCL37-C. Do not declare or define a reserved identifier
C: 0625 DCL36-C. Do not declare an identifier with conflicting linkage classifications
C: 0776 DCL40-C. Do not create incompatible declarations of the same function or object
C: 0853 PRE32-C. Do not use preprocessor directives in invocations of function-like macros
C: 0905 PRE30-C. Do not create a universal character name through concatenation
C: 1037 DCL38-C. Use the correct syntax when declaring a flexible array member
C: 1057 EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
C: 3217 DCL30-C. Declare objects with appropriate storage durations
C: 3462 PRE31-C. Avoid side effects in arguments to unsafe macros
C: 3463 PRE31-C. Avoid side effects in arguments to unsafe macros
C: 3464 PRE31-C. Avoid side effects in arguments to unsafe macros
C: 3465 PRE31-C. Avoid side effects in arguments to unsafe macros
C: 3466 PRE31-C. Avoid side effects in arguments to unsafe macros
C: 3467 PRE31-C. Avoid side effects in arguments to unsafe macros
  • No labels