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

Checker

Guideline

V502 EXP00-C. Use parentheses for precedence of operation
V503 EXP08-C. Ensure pointer arithmetic is used correctly
V505 MEM05-C. Avoid large stack allocations
V506 DCL30-C. Declare objects with appropriate storage durations
V507 DCL30-C. Declare objects with appropriate storage durations
V510 FIO47-C. Use valid format strings
V511 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V512 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V512 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V513 MSC24-C. Do not use deprecated or obsolescent functions
V514 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V516 EXP16-C. Do not compare function pointers to constant values
V517 MSC01-C. Strive for logical completeness
V518 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
V519 MSC13-C. Detect and remove unused values
V520 EXP08-C. Ensure pointer arithmetic is used correctly
V521 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
V522 EXP34-C. Do not dereference null pointers
V527 INT36-C. Converting a pointer to integer or integer to pointer
V528 INT36-C. Converting a pointer to integer or integer to pointer
V529 EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
V530 EXP12-C. Do not ignore values returned by functions
V531 MEM35-C. Allocate sufficient memory for an object
V532 EXP30-C. Do not depend on the order of evaluation for side effects
V533 MSC01-C. Strive for logical completeness
V534 MSC01-C. Strive for logical completeness
V535 MSC01-C. Strive for logical completeness
V536 DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
V540 EXP37-C. Call functions with the correct number and type of arguments
V541 EXP37-C. Call functions with the correct number and type of arguments
V542 INT36-C. Converting a pointer to integer or integer to pointer
V548 EXP36-C. Do not cast pointers into more strictly aligned pointer types
V549 EXP37-C. Call functions with the correct number and type of arguments
V550 FLP02-C. Avoid using floating-point numbers when precise computation is needed
V551 MSC12-C. Detect and remove code that has no effect or is never executed
V555 INT02-C. Understand integer conversion rules
V556 MSC01-C. Strive for logical completeness
V557 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V558 DCL30-C. Declare objects with appropriate storage durations
V559 EXP45-C. Do not perform assignments in selection statements
V561 DCL01-C. Do not reuse variable names in subscopes
V562 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V563 EXP19-C. Use braces for the body of an if, for, or while statement
V564 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
V566 INT36-C. Converting a pointer to integer or integer to pointer
V567 EXP30-C. Do not depend on the order of evaluation for side effects
V568 EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
V568 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V569 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V573 EXP33-C. Do not read uninitialized memory
V574 EXP08-C. Ensure pointer arithmetic is used correctly
V575 EXP37-C. Call functions with the correct number and type of arguments
V576 FIO47-C. Use valid format strings
V576 DCL11-C. Understand the type issues associated with variadic functions
V577 MSC01-C. Strive for logical completeness
V579 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V580 EXP39-C. Do not access a variable through a pointer of an incompatible type
V582 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V585 MEM34-C. Only free memory allocated dynamically
V586 MEM30-C. Do not access freed memory
V590 MSC01-C. Strive for logical completeness
V593 EXP00-C. Use parentheses for precedence of operation
V594 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V595 EXP34-C. Do not dereference null pointers
V596 MSC13-C. Detect and remove unused values
V597 MSC06-C. Beware of compiler optimizations
V600 EXP08-C. Ensure pointer arithmetic is used correctly
V601 INT36-C. Converting a pointer to integer or integer to pointer
V603 MSC13-C. Detect and remove unused values
V604 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V605 INT02-C. Understand integer conversion rules
V606 MSC12-C. Detect and remove code that has no effect or is never executed
V609 INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
V610 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
V612 MSC01-C. Strive for logical completeness
V613 EXP08-C. Ensure pointer arithmetic is used correctly
V614 EXP33-C. Do not read uninitialized memory
V615 FLP34-C. Ensure that floating-point conversions are within range of the new type
V618 FIO30-C. Exclude user input from format strings
V619 EXP08-C. Ensure pointer arithmetic is used correctly
V620 EXP08-C. Ensure pointer arithmetic is used correctly
V621 MSC21-C. Use robust loop termination conditions
V622 DCL41-C. Do not declare variables inside a switch statement before the first case label
V623 DCL30-C. Declare objects with appropriate storage durations
V628 EXP19-C. Use braces for the body of an if, for, or while statement
V629 INT00-C. Understand the data model used by your implementation(s)
V632 EXP37-C. Call functions with the correct number and type of arguments
V633 EXP45-C. Do not perform assignments in selection statements
V634 EXP00-C. Use parentheses for precedence of operation
V635 MEM35-C. Allocate sufficient memory for an object
V636 FLP06-C. Convert integers to floating point for floating-point operations
V639 EXP37-C. Call functions with the correct number and type of arguments
V640 EXP19-C. Use braces for the body of an if, for, or while statement
V641 EXP36-C. Do not cast pointers into more strictly aligned pointer types
V642 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V643 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V643 EXP08-C. Ensure pointer arithmetic is used correctly
V645 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V645 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
V647 INT36-C. Converting a pointer to integer or integer to pointer
V648 EXP00-C. Use parentheses for precedence of operation
V649 MSC12-C. Detect and remove code that has no effect or is never executed
V650 EXP08-C. Ensure pointer arithmetic is used correctly
V658 INT30-C. Ensure that unsigned integer operations do not wrap
V664 EXP34-C. Do not dereference null pointers
V665 MSC00-C. Compile cleanly at high warning levels
V666 EXP37-C. Call functions with the correct number and type of arguments
V670 EXP33-C. Do not read uninitialized memory
V671 EXP37-C. Call functions with the correct number and type of arguments
V673 INT02-C. Understand integer conversion rules
V674 FLP36-C. Preserve precision when converting integral values to floating-point type
V675 STR30-C. Do not attempt to modify string literals
V675 ENV30-C. Do not modify the object referenced by the return value of certain functions
V676 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V677 DCL37-C. Do not declare or define a reserved identifier
V679 EXP33-C. Do not read uninitialized memory
V681 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
V687 EXP08-C. Ensure pointer arithmetic is used correctly
V688 DCL01-C. Do not reuse variable names in subscopes
V692 STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
V694 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V695 MSC01-C. Strive for logical completeness
V696 MSC01-C. Strive for logical completeness
V697 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V698 EXP12-C. Do not ignore values returned by functions
V699 EXP45-C. Do not perform assignments in selection statements
V701 WIN30-C. Properly pair allocation and deallocation functions
V703 DCL01-C. Do not reuse variable names in subscopes
V705 EXP19-C. Use braces for the body of an if, for, or while statement
V709 EXP13-C. Treat relational and equality operators as if they were nonassociative
V711 DCL01-C. Do not reuse variable names in subscopes
V712 MSC06-C. Beware of compiler optimizations
V713 EXP34-C. Do not dereference null pointers
V714 MSC13-C. Detect and remove unused values
V715 EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
V716 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V719 MSC01-C. Strive for logical completeness
V721 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V722 MSC01-C. Strive for logical completeness
V723 DCL30-C. Declare objects with appropriate storage durations
V724 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V726 MEM34-C. Only free memory allocated dynamically
V727 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
V732 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V733 PRE01-C. Use parentheses within macros around parameter names
V736 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
V738 DCL30-C. Declare objects with appropriate storage durations
V739 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V742 EXP37-C. Call functions with the correct number and type of arguments
V743 EXP37-C. Call functions with the correct number and type of arguments
V744 MSC13-C. Detect and remove unused values
V747 MSC01-C. Strive for logical completeness
V751 MSC13-C. Detect and remove unused values
V755 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
V757 EXP12-C. Do not ignore values returned by functions
V763 MSC13-C. Detect and remove unused values
V764 EXP37-C. Call functions with the correct number and type of arguments
V769 EXP08-C. Ensure pointer arithmetic is used correctly
V772 MSC15-C. Do not depend on undefined behavior
V773 MEM31-C. Free dynamically allocated memory when no longer needed
V774 MEM30-C. Do not access freed memory
V779 MSC12-C. Detect and remove code that has no effect or is never executed
V781 MEM35-C. Allocate sufficient memory for an object
V781 API00-C. Functions should validate their parameters
V782 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
V784 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V785 MSC01-C. Strive for logical completeness
V786 MSC01-C. Strive for logical completeness
V793 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V796 MSC17-C. Finish every set of statements associated with a case label with a break statement
V797 EXP12-C. Do not ignore values returned by functions
V798 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
V821 DCL19-C. Minimize the scope of variables and functions
V1001 MSC13-C. Detect and remove unused values
V1004 EXP34-C. Do not dereference null pointers
V1004 EXP37-C. Call functions with the correct number and type of arguments
V1004 EXP08-C. Ensure pointer arithmetic is used correctly
V1012 INT30-C. Ensure that unsigned integer operations do not wrap
V1014 FLP37-C. Do not use object representations to compare floating-point values
V1015 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
V1019 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V1024 FIO40-C. Reset strings on fgets() or fgetws() failure
V1026 INT32-C. Ensure that operations on signed integers do not result in overflow
V1028 INT30-C. Ensure that unsigned integer operations do not wrap
V1029 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V1031 DCL31-C. Declare identifiers before using them
V1032 EXP36-C. Do not cast pointers into more strictly aligned pointer types
V1034 FLP30-C. Do not use floating-point variables as loop counters
V1035 FIO44-C. Only use values for fsetpos() that are returned from fgetpos()
V1046 INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
V1050 EXP33-C. Do not read uninitialized memory
V1058 EXP16-C. Do not compare function pointers to constant values
V1070 INT32-C. Ensure that operations on signed integers do not result in overflow
V1072 MEM03-C. Clear sensitive information stored in reusable resources
V1081 INT32-C. Ensure that operations on signed integers do not result in overflow
V1083 INT32-C. Ensure that operations on signed integers do not result in overflow
V1085 INT32-C. Ensure that operations on signed integers do not result in overflow
V1086 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
V1086 ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
V1088 CON43-C. Do not allow data races in multithreaded code
V1091 INT36-C. Converting a pointer to integer or integer to pointer
V1103 EXP42-C. Do not compare padding data
V1104 EXP00-C. Use parentheses for precedence of operation
V1111 API00-C. Functions should validate their parameters
V2001 MSC24-C. Do not use deprecated or obsolescent functions
V2002 MSC24-C. Do not use deprecated or obsolescent functions
V2003 FLP34-C. Ensure that floating-point conversions are within range of the new type
V2004 FLP34-C. Ensure that floating-point conversions are within range of the new type
V2015 DCL01-C. Do not reuse variable names in subscopes
V2021 ERR06-C. Understand the termination behavior of assert() and abort()
V5003 MSC13-C. Detect and remove unused values
V5004 INT00-C. Understand the data model used by your implementation(s)
V5005 INT30-C. Ensure that unsigned integer operations do not wrap
V5006 INT02-C. Understand integer conversion rules
V5010 INT32-C. Ensure that operations on signed integers do not result in overflow
V5011 INT30-C. Ensure that unsigned integer operations do not wrap