Skip to end of metadata
Go to start of metadata

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

Checker

Guideline

0160 MSC15-C. Do not depend on undefined behavior
0161 FIO47-C. Use valid format strings
0161 MSC15-C. Do not depend on undefined behavior
0162 FIO47-C. Use valid format strings
0162 MSC15-C. Do not depend on undefined behavior
0163 FIO47-C. Use valid format strings
0163 MSC15-C. Do not depend on undefined behavior
0164 FIO47-C. Use valid format strings
0164 MSC15-C. Do not depend on undefined behavior
0165 FIO47-C. Use valid format strings
0165 MSC15-C. Do not depend on undefined behavior
0166 FIO47-C. Use valid format strings
0166 MSC15-C. Do not depend on undefined behavior
0167 FIO47-C. Use valid format strings
0167 MSC15-C. Do not depend on undefined behavior
0168 FIO47-C. Use valid format strings
0168 MSC15-C. Do not depend on undefined behavior
0169 FIO47-C. Use valid format strings
0169 MSC15-C. Do not depend on undefined behavior
0170 FIO47-C. Use valid format strings
0170 MSC15-C. Do not depend on undefined behavior
0171 FIO47-C. Use valid format strings
0171 MSC15-C. Do not depend on undefined behavior
0172 FIO47-C. Use valid format strings
0172 MSC15-C. Do not depend on undefined behavior
0173 FIO47-C. Use valid format strings
0173 MSC15-C. Do not depend on undefined behavior
0174 FIO47-C. Use valid format strings
0174 MSC15-C. Do not depend on undefined behavior
0175 FIO47-C. Use valid format strings
0175 MSC15-C. Do not depend on undefined behavior
0176 FIO47-C. Use valid format strings
0176 MSC15-C. Do not depend on undefined behavior
0177 FIO47-C. Use valid format strings
0177 MSC15-C. Do not depend on undefined behavior
0178 FIO47-C. Use valid format strings
0178 MSC15-C. Do not depend on undefined behavior
0179 MSC15-C. Do not depend on undefined behavior
0179 (U) FIO47-C. Use valid format strings
0179 (U) DCL11-C. Understand the type issues associated with variadic functions
0180 (C99) FIO47-C. Use valid format strings
0184 DCL10-C. Maintain the contract between the writer and caller of variadic functions
0184 MSC15-C. Do not depend on undefined behavior
0184 (U) FIO47-C. Use valid format strings
0184 (U) DCL11-C. Understand the type issues associated with variadic functions
0185 DCL10-C. Maintain the contract between the writer and caller of variadic functions
0185 MSC15-C. Do not depend on undefined behavior
0185 (U) FIO47-C. Use valid format strings
0185 (U) DCL11-C. Understand the type issues associated with variadic functions
0186 MSC15-C. Do not depend on undefined behavior
0186 (U) DCL11-C. Understand the type issues associated with variadic functions
0190 MSC15-C. Do not depend on undefined behavior
0190 (U) FIO47-C. Use valid format strings
0190 (U) DCL11-C. Understand the type issues associated with variadic functions
0191 MSC15-C. Do not depend on undefined behavior
0191 (U) FIO47-C. Use valid format strings
0191 (U) DCL11-C. Understand the type issues associated with variadic functions
0192 MSC15-C. Do not depend on undefined behavior
0192 (U) FIO47-C. Use valid format strings
0192 (U) DCL11-C. Understand the type issues associated with variadic functions
0193 MSC15-C. Do not depend on undefined behavior
0193 (U) FIO47-C. Use valid format strings
0193 (U) DCL11-C. Understand the type issues associated with variadic functions
0194 MSC15-C. Do not depend on undefined behavior
0194 (U) FIO47-C. Use valid format strings
0194 (U) DCL11-C. Understand the type issues associated with variadic functions
0195 MSC15-C. Do not depend on undefined behavior
0195 (U) FIO47-C. Use valid format strings
0195 (U) DCL11-C. Understand the type issues associated with variadic functions
0196 MSC15-C. Do not depend on undefined behavior
0196 (U) FIO47-C. Use valid format strings
0196 (U) DCL11-C. Understand the type issues associated with variadic functions
0197 MSC15-C. Do not depend on undefined behavior
0197 (U) FIO47-C. Use valid format strings
0197 (U) DCL11-C. Understand the type issues associated with variadic functions
0198 MSC15-C. Do not depend on undefined behavior
0198 (U) FIO47-C. Use valid format strings
0198 (U) DCL11-C. Understand the type issues associated with variadic functions
0199 MSC15-C. Do not depend on undefined behavior
0199 (U) FIO47-C. Use valid format strings
0199 (U) DCL11-C. Understand the type issues associated with variadic functions
0200 MSC15-C. Do not depend on undefined behavior
0200 (U) FIO47-C. Use valid format strings
0200 (U) DCL11-C. Understand the type issues associated with variadic functions
0201 MSC15-C. Do not depend on undefined behavior
0201 (U) FIO47-C. Use valid format strings
0201 (U) DCL11-C. Understand the type issues associated with variadic functions
0202 MSC14-C. Do not introduce unnecessary platform dependencies
0202 (I) FIO47-C. Use valid format strings
0203 MSC15-C. Do not depend on undefined behavior
0204 FIO47-C. Use valid format strings
0204 MSC15-C. Do not depend on undefined behavior
0206 MSC15-C. Do not depend on undefined behavior
0206 (U) FIO47-C. Use valid format strings
0206 (U) DCL11-C. Understand the type issues associated with variadic functions
0207 DCL11-C. Understand the type issues associated with variadic functions
0207 MSC15-C. Do not depend on undefined behavior
0208 DCL11-C. Understand the type issues associated with variadic functions
0208 MSC15-C. Do not depend on undefined behavior
0232 MSC40-C. Do not violate constraints
0233 MSC40-C. Do not violate constraints
0235 MSC15-C. Do not depend on undefined behavior
0240 MSC14-C. Do not introduce unnecessary platform dependencies
0241 MSC14-C. Do not introduce unnecessary platform dependencies
0244 MSC40-C. Do not violate constraints
0246 MSC14-C. Do not introduce unnecessary platform dependencies
0261 MSC40-C. Do not violate constraints
0275 MSC15-C. Do not depend on undefined behavior
0278 MSC40-C. Do not violate constraints
284 MSC14-C. Do not introduce unnecessary platform dependencies
0285 MSC09-C. Character encoding: Use subset of ASCII for safety
0286 MSC09-C. Character encoding: Use subset of ASCII for safety
0287 MSC09-C. Character encoding: Use subset of ASCII for safety
0288 MSC09-C. Character encoding: Use subset of ASCII for safety
0289 MSC09-C. Character encoding: Use subset of ASCII for safety
0299 MSC09-C. Character encoding: Use subset of ASCII for safety
0301 MSC15-C. Do not depend on undefined behavior
0302 MSC15-C. Do not depend on undefined behavior
0304 MSC15-C. Do not depend on undefined behavior
305 INT36-C. Converting a pointer to integer or integer to pointer
306 INT36-C. Converting a pointer to integer or integer to pointer
0307 MSC15-C. Do not depend on undefined behavior
0309 MSC15-C. Do not depend on undefined behavior
309 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
0310 EXP11-C. Do not make assumptions regarding the layout of structures with bit-fields
0311 EXP05-C. Do not cast away a const qualification
0312 EXP32-C. Do not access a volatile object through a nonvolatile reference
0321 MSC40-C. Do not violate constraints
0322 MSC40-C. Do not violate constraints
0337 MSC15-C. Do not depend on undefined behavior
0338 MSC40-C. Do not violate constraints
0339 DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
341 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0342 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0400 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
0400 MSC15-C. Do not depend on undefined behavior
0400 [U] EXP30-C. Do not depend on the order of evaluation for side effects
0401 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
0401 MSC15-C. Do not depend on undefined behavior
0401 [U] EXP30-C. Do not depend on the order of evaluation for side effects
0402 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
0402 MSC15-C. Do not depend on undefined behavior
0402 [U] EXP30-C. Do not depend on the order of evaluation for side effects
0403 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
0403 MSC15-C. Do not depend on undefined behavior
0403 [U] EXP30-C. Do not depend on the order of evaluation for side effects
0422 MSC40-C. Do not violate constraints
0423 MSC40-C. Do not violate constraints
0426 MSC40-C. Do not violate constraints
0427 MSC40-C. Do not violate constraints
428 EXP16-C. Do not compare function pointers to constant values
0429 MSC40-C. Do not violate constraints
429 INT36-C. Converting a pointer to integer or integer to pointer
0430 MSC40-C. Do not violate constraints
431 EXP05-C. Do not cast away a const qualification
0431 MSC40-C. Do not violate constraints
0431(C) DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
432 INT36-C. Converting a pointer to integer or integer to pointer
0432 STR38-C. Do not confuse narrow and wide character strings and functions
0432 MSC40-C. Do not violate constraints
0432 (C) STR04-C. Use plain char for characters in the basic character set
0434 (C) DCL31-C. Declare identifiers before using them
0435 MSC40-C. Do not violate constraints
0436 MSC40-C. Do not violate constraints
0437 MSC40-C. Do not violate constraints
0446 MSC40-C. Do not violate constraints
0447 MSC40-C. Do not violate constraints
0448 MSC40-C. Do not violate constraints
0449 MSC40-C. Do not violate constraints
0450 MSC40-C. Do not violate constraints
0451 MSC40-C. Do not violate constraints
0452 MSC40-C. Do not violate constraints
0453 MSC40-C. Do not violate constraints
0454 MSC40-C. Do not violate constraints
0456 MSC40-C. Do not violate constraints
0457 MSC40-C. Do not violate constraints
0458 MSC40-C. Do not violate constraints
0460 MSC40-C. Do not violate constraints
0461 MSC40-C. Do not violate constraints
0462 MSC40-C. Do not violate constraints
0463 MSC40-C. Do not violate constraints
0466 MSC40-C. Do not violate constraints
0467 MSC40-C. Do not violate constraints
0468 MSC40-C. Do not violate constraints
0469 MSC40-C. Do not violate constraints
0475 MSC15-C. Do not depend on undefined behavior
0476 MSC40-C. Do not violate constraints
0477 MSC40-C. Do not violate constraints
0478 MSC40-C. Do not violate constraints
0481 MSC40-C. Do not violate constraints
0482 MSC40-C. Do not violate constraints
0483 MSC40-C. Do not violate constraints
0484 MSC40-C. Do not violate constraints
0485 MSC40-C. Do not violate constraints
0486 MSC40-C. Do not violate constraints
0487 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
0487 MSC40-C. Do not violate constraints
0488 EXP08-C. Ensure pointer arithmetic is used correctly
0493 MSC40-C. Do not violate constraints
0494 MSC40-C. Do not violate constraints
0495 MSC40-C. Do not violate constraints
0496 MSC40-C. Do not violate constraints
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
0513 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
0513 MSC40-C. Do not violate constraints
0514 MSC40-C. Do not violate constraints
0515 MSC40-C. Do not violate constraints
0536 MSC40-C. Do not violate constraints
0537 MSC40-C. Do not violate constraints
0540 MSC40-C. Do not violate constraints
0541 MSC40-C. Do not violate constraints
0542 MSC40-C. Do not violate constraints
0543 MSC15-C. Do not depend on undefined behavior
0544 MSC15-C. Do not depend on undefined behavior
0545 MSC15-C. Do not depend on undefined behavior
0546 MSC40-C. Do not violate constraints
0547 MSC40-C. Do not violate constraints
0550 MSC40-C. Do not violate constraints
0551 MSC14-C. Do not introduce unnecessary platform dependencies
0554 MSC40-C. Do not violate constraints
0555 MSC40-C. Do not violate constraints
0556 STR30-C. Do not attempt to modify string literals
0556 MSC40-C. Do not violate constraints
557 INT36-C. Converting a pointer to integer or integer to pointer
0557 MSC40-C. Do not violate constraints
0558 MSC40-C. Do not violate constraints
0559 MSC40-C. Do not violate constraints
0560 MSC40-C. Do not violate constraints
0561 MSC40-C. Do not violate constraints
562 EXP32-C. Do not access a volatile object through a nonvolatile reference
0562 MSC40-C. Do not violate constraints
0563 EXP40-C. Do not modify constant objects
0563 MSC40-C. Do not violate constraints
563 EXP32-C. Do not access a volatile object through a nonvolatile reference
563 INT36-C. Converting a pointer to integer or integer to pointer
0564 MSC40-C. Do not violate constraints
0565 MSC40-C. Do not violate constraints
0580 MSC40-C. Do not violate constraints
581 MSC14-C. Do not introduce unnecessary platform dependencies
0588 MSC40-C. Do not violate constraints
0589 MSC40-C. Do not violate constraints
0590 MSC40-C. Do not violate constraints
0591 MSC40-C. Do not violate constraints
0597 MSC01-C. Strive for logical completeness
0601 MSC14-C. Do not introduce unnecessary platform dependencies
0602 DCL37-C. Do not declare or define a reserved identifier
0602 MSC15-C. Do not depend on undefined behavior
0605 MSC40-C. Do not violate constraints
0616 MSC40-C. Do not violate constraints
0619 MSC40-C. Do not violate constraints
0620 MSC40-C. Do not violate constraints
0621 MSC40-C. Do not violate constraints
0622 MSC40-C. Do not violate constraints
0623 MSC15-C. Do not depend on undefined behavior
0625 MSC15-C. Do not depend on undefined behavior
0625 (U) DCL36-C. Do not declare an identifier with conflicting linkage classifications
0626 MSC15-C. Do not depend on undefined behavior
0627 MSC40-C. Do not violate constraints
627 DCL23-C. Guarantee that mutually visible identifiers are unique
0628 MSC40-C. Do not violate constraints
0629 MSC40-C. Do not violate constraints
0630 MSC15-C. Do not depend on undefined behavior
0631 MSC40-C. Do not violate constraints
0632 MSC15-C. Do not depend on undefined behavior
0633 MSC14-C. Do not introduce unnecessary platform dependencies
634 MSC14-C. Do not introduce unnecessary platform dependencies
0634 (I) INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
0635 INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
0635 MSC14-C. Do not introduce unnecessary platform dependencies
0636 MSC15-C. Do not depend on undefined behavior
0638 MSC40-C. Do not violate constraints
0640 MSC40-C. Do not violate constraints
0641 MSC40-C. Do not violate constraints
0642 MSC40-C. Do not violate constraints
0643 MSC40-C. Do not violate constraints
0644 MSC40-C. Do not violate constraints
0645 MSC40-C. Do not violate constraints
0646 MSC40-C. Do not violate constraints
0649 MSC40-C. Do not violate constraints
0650 MSC40-C. Do not violate constraints
0651 MSC40-C. Do not violate constraints
0653 MSC40-C. Do not violate constraints
0654 MSC15-C. Do not depend on undefined behavior
0655 MSC40-C. Do not violate constraints
0656 MSC40-C. Do not violate constraints
0657 MSC40-C. Do not violate constraints
0658 MSC15-C. Do not depend on undefined behavior
0659 MSC40-C. Do not violate constraints
0660 MSC14-C. Do not introduce unnecessary platform dependencies
0661 MSC15-C. Do not depend on undefined behavior
0662 MSC14-C. Do not introduce unnecessary platform dependencies
0664 MSC40-C. Do not violate constraints
0665 MSC40-C. Do not violate constraints
0667 MSC15-C. Do not depend on undefined behavior
0668 MSC15-C. Do not depend on undefined behavior
0669 MSC40-C. Do not violate constraints
0671 MSC40-C. Do not violate constraints
671 INT36-C. Converting a pointer to integer or integer to pointer
0672 MSC15-C. Do not depend on undefined behavior
0673 MSC40-C. Do not violate constraints
673 EXP32-C. Do not access a volatile object through a nonvolatile reference
0674 MSC40-C. Do not violate constraints
0674 STR04-C. Use plain char for characters in the basic character set
674 EXP32-C. Do not access a volatile object through a nonvolatile reference
674 INT36-C. Converting a pointer to integer or integer to pointer
0675 MSC40-C. Do not violate constraints
0676 MSC15-C. Do not depend on undefined behavior
0677 MSC40-C. Do not violate constraints
0678 MSC15-C. Do not depend on undefined behavior
678 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
0680 MSC15-C. Do not depend on undefined behavior
0682 MSC40-C. Do not violate constraints
0683 MSC40-C. Do not violate constraints
0684 MSC40-C. Do not violate constraints
0685 MSC40-C. Do not violate constraints
0688 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
0690 MSC40-C. Do not violate constraints
0690 STR11-C. Do not specify the bound of a character array initialized with a string literal
0695 MEM02-C. Immediately cast the result of a memory allocation function call into a pointer to the allocated type
0696 MEM35-C. Allocate sufficient memory for an object
0697 EXP03-C. Do not assume the size of a structure is the sum of the sizes of its members
0698 MSC40-C. Do not violate constraints
0699 MSC40-C. Do not violate constraints
0699 STR04-C. Use plain char for characters in the basic character set
0701 MEM35-C. Allocate sufficient memory for an object
0706 MSC15-C. Do not depend on undefined behavior
0708 MSC40-C. Do not violate constraints
0709 MSC40-C. Do not violate constraints
0724 INT09-C. Ensure enumeration constants map to unique values
0736 MSC40-C. Do not violate constraints
0737 MSC40-C. Do not violate constraints
0738 MSC40-C. Do not violate constraints
0745 MSC15-C. Do not depend on undefined behavior
0746 MSC40-C. Do not violate constraints
0747 MSC40-C. Do not violate constraints
0752 STR30-C. Do not attempt to modify string literals
0752 STR05-C. Use pointers to const when referring to string literals
0753 STR30-C. Do not attempt to modify string literals
0753 STR05-C. Use pointers to const when referring to string literals
0755 MSC40-C. Do not violate constraints
0756 MSC40-C. Do not violate constraints
0757 MSC40-C. Do not violate constraints
0758 MSC40-C. Do not violate constraints
0766 MSC40-C. Do not violate constraints
0767 MSC40-C. Do not violate constraints
0768 MSC40-C. Do not violate constraints
0774 MSC40-C. Do not violate constraints
0775 MSC40-C. Do not violate constraints
776 DCL40-C. Do not create incompatible declarations of the same function or object
776 DCL23-C. Guarantee that mutually visible identifiers are unique
0777 DCL23-C. Guarantee that mutually visible identifiers are unique
0777 MSC15-C. Do not depend on undefined behavior
778 DCL40-C. Do not create incompatible declarations of the same function or object
778 DCL23-C. Guarantee that mutually visible identifiers are unique
779 DCL40-C. Do not create incompatible declarations of the same function or object
0779 DCL23-C. Guarantee that mutually visible identifiers are unique
0779 MSC15-C. Do not depend on undefined behavior
789 DCL40-C. Do not create incompatible declarations of the same function or object
0790 FLP02-C. Avoid using floating-point numbers when precise computation is needed
0801 MSC40-C. Do not violate constraints
0801 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0802 MSC40-C. Do not violate constraints
0802 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0803 MSC40-C. Do not violate constraints
803 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0804 MSC40-C. Do not violate constraints
0809 MSC15-C. Do not depend on undefined behavior
0811 MSC40-C. Do not violate constraints
0811 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0812 MSC40-C. Do not violate constraints
0813 MSC15-C. Do not depend on undefined behavior
0814 MSC15-C. Do not depend on undefined behavior
0821 MSC40-C. Do not violate constraints
0830 MSC14-C. Do not introduce unnecessary platform dependencies
0831 MSC14-C. Do not introduce unnecessary platform dependencies
0834 MSC40-C. Do not violate constraints
0835 MSC40-C. Do not violate constraints
0836 MSC15-C. Do not depend on undefined behavior
0837 MSC15-C. Do not depend on undefined behavior
0844 MSC40-C. Do not violate constraints
0845 MSC40-C. Do not violate constraints
0848 MSC15-C. Do not depend on undefined behavior
0851 MSC40-C. Do not violate constraints
0852 MSC40-C. Do not violate constraints
0853 MSC15-C. Do not depend on undefined behavior
853 PRE32-C. Do not use preprocessor directives in invocations of function-like macros
0854 MSC15-C. Do not depend on undefined behavior
0856 MSC40-C. Do not violate constraints
0864 MSC15-C. Do not depend on undefined behavior
0865 MSC15-C. Do not depend on undefined behavior
0866 MSC40-C. Do not violate constraints
0867 MSC15-C. Do not depend on undefined behavior
0872 MSC15-C. Do not depend on undefined behavior
0872 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0873 MSC40-C. Do not violate constraints
0874 MSC15-C. Do not depend on undefined behavior
874 STR10-C. Do not concatenate different type of string literals
0877 MSC40-C. Do not violate constraints
0880 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0881 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0883 PRE06-C. Enclose header files in an inclusion guard
0884 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0885 MSC15-C. Do not depend on undefined behavior
0887 MSC15-C. Do not depend on undefined behavior
0888 MSC15-C. Do not depend on undefined behavior
0899 MSC14-C. Do not introduce unnecessary platform dependencies
0914 MSC15-C. Do not depend on undefined behavior
0915 MSC15-C. Do not depend on undefined behavior
0940 MSC40-C. Do not violate constraints
0941 MSC40-C. Do not violate constraints
0942 MSC15-C. Do not depend on undefined behavior
0943 MSC40-C. Do not violate constraints
0944 MSC40-C. Do not violate constraints
1001 MSC14-C. Do not introduce unnecessary platform dependencies
1002 MSC14-C. Do not introduce unnecessary platform dependencies
1003 MSC14-C. Do not introduce unnecessary platform dependencies
1006 MSC14-C. Do not introduce unnecessary platform dependencies
1008 MSC14-C. Do not introduce unnecessary platform dependencies
1012 MSC14-C. Do not introduce unnecessary platform dependencies
1014 MSC14-C. Do not introduce unnecessary platform dependencies
1015 MSC14-C. Do not introduce unnecessary platform dependencies
1019 MSC14-C. Do not introduce unnecessary platform dependencies
1020 MSC14-C. Do not introduce unnecessary platform dependencies
1021 MSC14-C. Do not introduce unnecessary platform dependencies
1022 MSC14-C. Do not introduce unnecessary platform dependencies
1023 MSC40-C. Do not violate constraints
1024 MSC40-C. Do not violate constraints
1025 MSC40-C. Do not violate constraints
1026 MSC14-C. Do not introduce unnecessary platform dependencies
1028 MSC14-C. Do not introduce unnecessary platform dependencies
1029 MSC14-C. Do not introduce unnecessary platform dependencies
1033 MSC40-C. Do not violate constraints
1034 MSC14-C. Do not introduce unnecessary platform dependencies
1035 MSC14-C. Do not introduce unnecessary platform dependencies
1036 MSC14-C. Do not introduce unnecessary platform dependencies
1037 MSC14-C. Do not introduce unnecessary platform dependencies
1037 1039 DCL38-C. Use the correct syntax when declaring a flexible array member
1038 MSC14-C. Do not introduce unnecessary platform dependencies
1041 MSC14-C. Do not introduce unnecessary platform dependencies
1042 MSC14-C. Do not introduce unnecessary platform dependencies
1043 MSC14-C. Do not introduce unnecessary platform dependencies
1044 MSC14-C. Do not introduce unnecessary platform dependencies
1045 MSC14-C. Do not introduce unnecessary platform dependencies
1046 MSC14-C. Do not introduce unnecessary platform dependencies
1047 MSC40-C. Do not violate constraints
1048 MSC40-C. Do not violate constraints
1050 MSC40-C. Do not violate constraints
1051 ARR32-C. Ensure size arguments for variable length arrays are in a valid range
1051 MEM05-C. Avoid large stack allocations
1054 DCL21-C. Understand the storage of compound literals
1057 EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
1061 MEM33-C. Allocate and copy structures containing a flexible array member dynamically
1061 MSC40-C. Do not violate constraints
1062 MEM33-C. Allocate and copy structures containing a flexible array member dynamically
1062 MSC40-C. Do not violate constraints
1063 MEM33-C. Allocate and copy structures containing a flexible array member dynamically
1064 MEM33-C. Allocate and copy structures containing a flexible array member dynamically
1069 MEM35-C. Allocate sufficient memory for an object
1071 MEM35-C. Allocate sufficient memory for an object
1073 MEM35-C. Allocate sufficient memory for an object
1250 INT02-C. Understand integer conversion rules
1251 INT02-C. Understand integer conversion rules
1252 INT02-C. Understand integer conversion rules
1253 INT02-C. Understand integer conversion rules
1256 INT02-C. Understand integer conversion rules
1257 INT02-C. Understand integer conversion rules
1260 INT02-C. Understand integer conversion rules
1263 INT02-C. Understand integer conversion rules
1266 INT02-C. Understand integer conversion rules
1272 DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
1274 INT02-C. Understand integer conversion rules
1280 DCL16-C. Use "L," not "l," to indicate a long value
1290 INT02-C. Understand integer conversion rules
1291 INT02-C. Understand integer conversion rules
1292 INT02-C. Understand integer conversion rules
1292 INT07-C. Use only explicitly signed or unsigned char type for numeric values
1293 INT02-C. Understand integer conversion rules
1293 INT07-C. Use only explicitly signed or unsigned char type for numeric values
1294 INT02-C. Understand integer conversion rules
1295 INT02-C. Understand integer conversion rules
1296 INT02-C. Understand integer conversion rules
1297 INT02-C. Understand integer conversion rules
1298 INT02-C. Understand integer conversion rules
1299 INT02-C. Understand integer conversion rules
1302 DCL31-C. Declare identifiers before using them
1304 DCL07-C. Include the appropriate type information in function declarators
1312 STR11-C. Do not specify the bound of a character array initialized with a string literal
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
1434 MSC14-C. Do not introduce unnecessary platform dependencies
1460 MSC01-C. Strive for logical completeness
1470 MSC01-C. Strive for logical completeness
1472 MSC01-C. Strive for logical completeness
1492 ENV30-C. Do not modify the object referenced by the return value of certain functions
1493 ENV30-C. Do not modify the object referenced by the return value of certain functions
1500 MSC13-C. Detect and remove unused values
1501 MSC07-C. Detect and remove dead code
1501 MSC12-C. Detect and remove code that has no effect or is never executed
1502 MSC13-C. Detect and remove unused values
1503 MSC07-C. Detect and remove dead code
1503 MSC12-C. Detect and remove code that has no effect or is never executed
1504 DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
1504 DCL19-C. Minimize the scope of variables and functions
1505 DCL19-C. Minimize the scope of variables and functions
1509 MSC15-C. Do not depend on undefined behavior
1510 DCL40-C. Do not create incompatible declarations of the same function or object
1510 MSC15-C. Do not depend on undefined behavior
1520 MEM05-C. Avoid large stack allocations
1531 DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
1531 DCL19-C. Minimize the scope of variables and functions
1532 DCL19-C. Minimize the scope of variables and functions
1769 MEM30-C. Do not access freed memory
1769 MEM34-C. Only free memory allocated dynamically
1770 MEM30-C. Do not access freed memory
1771 MEM31-C. Free dynamically allocated memory when no longer needed
1800 INT02-C. Understand integer conversion rules
1802 INT02-C. Understand integer conversion rules
1803 INT02-C. Understand integer conversion rules
1804 INT02-C. Understand integer conversion rules
1810 INT02-C. Understand integer conversion rules
1811 INT02-C. Understand integer conversion rules
1812 INT02-C. Understand integer conversion rules
1813 INT02-C. Understand integer conversion rules
1820 INT35-C. Use correct integer precisions
1820 INT02-C. Understand integer conversion rules
1821 INT35-C. Use correct integer precisions
1821 INT02-C. Understand integer conversion rules
1822 INT35-C. Use correct integer precisions
1822 INT02-C. Understand integer conversion rules
1823 INT35-C. Use correct integer precisions
1823 INT02-C. Understand integer conversion rules
1824 INT35-C. Use correct integer precisions
1824 INT02-C. Understand integer conversion rules
1830 INT02-C. Understand integer conversion rules
1831 INT02-C. Understand integer conversion rules
1832 INT02-C. Understand integer conversion rules
1833 INT02-C. Understand integer conversion rules
1834 INT02-C. Understand integer conversion rules
1840 INT35-C. Use correct integer precisions
1840 INT02-C. Understand integer conversion rules
1841 INT35-C. Use correct integer precisions
1841 INT02-C. Understand integer conversion rules
1842 INT35-C. Use correct integer precisions
1842 INT02-C. Understand integer conversion rules
1843 INT35-C. Use correct integer precisions
1843 INT02-C. Understand integer conversion rules
1844 INT35-C. Use correct integer precisions
1844 INT02-C. Understand integer conversion rules
1850 INT35-C. Use correct integer precisions
1850 INT02-C. Understand integer conversion rules
1851 INT35-C. Use correct integer precisions
1851 INT02-C. Understand integer conversion rules
1852 INT35-C. Use correct integer precisions
1852 INT02-C. Understand integer conversion rules
1853 INT35-C. Use correct integer precisions
1853 INT02-C. Understand integer conversion rules
1854 INT35-C. Use correct integer precisions
1854 INT02-C. Understand integer conversion rules
1860 INT02-C. Understand integer conversion rules
1861 INT02-C. Understand integer conversion rules
1862 INT02-C. Understand integer conversion rules
1863 INT02-C. Understand integer conversion rules
1864 INT02-C. Understand integer conversion rules
1880 INT02-C. Understand integer conversion rules
1881 INT02-C. Understand integer conversion rules
1882 INT02-C. Understand integer conversion rules
1890 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
1891 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
1892 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
1893 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
1894 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
1895 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
2000 MSC01-C. Strive for logical completeness
2002 MSC01-C. Strive for logical completeness
2003 MSC17-C. Finish every set of statements associated with a case label with a break statement
2004 MSC01-C. Strive for logical completeness
2008 DCL41-C. Do not declare variables inside a switch statement before the first case label
2008 MSC07-C. Detect and remove dead code
2008 MSC12-C. Detect and remove code that has no effect or is never executed
2019 MSC20-C. Do not use a switch statement to transfer control into a complex block
2050 DCL31-C. Declare identifiers before using them
2050 DCL07-C. Include the appropriate type information in function declarators
2051 DCL31-C. Declare identifiers before using them
2100 INT02-C. Understand integer conversion rules
2101 INT02-C. Understand integer conversion rules
2102 INT02-C. Understand integer conversion rules
2103 INT02-C. Understand integer conversion rules
2104 INT02-C. Understand integer conversion rules
2105 INT02-C. Understand integer conversion rules
2106 INT02-C. Understand integer conversion rules
2106 STR09-C. Don't assume numeric values for expressions with type plain character
2107 INT02-C. Understand integer conversion rules
2107 STR09-C. Don't assume numeric values for expressions with type plain character
2109 INT02-C. Understand integer conversion rules
2110 INT02-C. Understand integer conversion rules
2111 INT02-C. Understand integer conversion rules
2112 INT02-C. Understand integer conversion rules
2113 INT02-C. Understand integer conversion rules
2114 INT02-C. Understand integer conversion rules
2115 INT02-C. Understand integer conversion rules
2116 INT02-C. Understand integer conversion rules
2117 INT02-C. Understand integer conversion rules
2118 INT02-C. Understand integer conversion rules
2119 INT02-C. Understand integer conversion rules
2120 INT02-C. Understand integer conversion rules
2122 INT02-C. Understand integer conversion rules
2124 INT02-C. Understand integer conversion rules
2130 INT02-C. Understand integer conversion rules
2132 INT02-C. Understand integer conversion rules
2134 INT02-C. Understand integer conversion rules
2212 EXP19-C. Use braces for the body of an if, for, or while statement
2500 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
2501 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
2502 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
2503 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
2547 DCL01-C. Do not reuse variable names in subscopes
2761 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2762 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2763 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2766 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2767 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2768 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2771 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2772 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
2773 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
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 (D) 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 (A) 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 (S) 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 INT08-C. Verify that all integer values are in range
2801 INT32-C. Ensure that operations on signed integers do not result in overflow
2801 INT08-C. Verify that all integer values are in range
2802 INT32-C. Ensure that operations on signed integers do not result in overflow
2802 INT08-C. Verify that all integer values are in range
2803 INT32-C. Ensure that operations on signed integers do not result in overflow
2803 INT08-C. Verify that all integer values are in range
2810 EXP34-C. Do not dereference null pointers
2811 EXP34-C. Do not dereference null pointers
2812 EXP34-C. Do not dereference null pointers
2813 EXP34-C. Do not dereference null pointers
2814 EXP34-C. Do not dereference null pointers
2820 EXP34-C. Do not dereference null pointers
2821 EXP34-C. Do not dereference null pointers
2822 EXP34-C. Do not dereference null pointers
2823 EXP34-C. Do not dereference null pointers
2824 EXP34-C. Do not dereference null pointers
2830 (C) INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2831 (D) INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2832 (A) INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2833 (S) INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2834 (P) INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
2840 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2841 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2842 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2843 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2844 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2845 ARR38-C. Guarantee that library functions do not form invalid pointers
2845 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
2846 ARR38-C. Guarantee that library functions do not form invalid pointers
2846 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
2847 ARR38-C. Guarantee that library functions do not form invalid pointers
2847 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
2848 ARR38-C. Guarantee that library functions do not form invalid pointers
2848 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
2849 ARR38-C. Guarantee that library functions do not form invalid pointers
2849 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
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
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
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
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
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
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
2877 MSC07-C. Detect and remove dead code
2877 MSC12-C. Detect and remove code that has no effect or is never executed
2880 MSC07-C. Detect and remove dead code
2880 MSC12-C. Detect and remove code that has no effect or is never executed
2881 MSC07-C. Detect and remove dead code
2881 MSC12-C. Detect and remove code that has no effect or is never executed
2882 DCL41-C. Do not declare variables inside a switch statement before the first case label
2882 MSC07-C. Detect and remove dead code
2882 MSC12-C. Detect and remove code that has no effect or is never executed
2883 MSC07-C. Detect and remove dead code
2883 MSC12-C. Detect and remove code that has no effect or is never executed
2888 MSC37-C. Ensure that control never reaches the end of a non-void function
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
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
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
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
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
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
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
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
2910 INT08-C. Verify that all integer values are in range
2910 (C) INT30-C. Ensure that unsigned integer operations do not wrap
2911 INT08-C. Verify that all integer values are in range
2911 (D) INT30-C. Ensure that unsigned integer operations do not wrap
2912 INT08-C. Verify that all integer values are in range
2912 (A) INT30-C. Ensure that unsigned integer operations do not wrap
2913 INT08-C. Verify that all integer values are in range
2913 (S) INT30-C. Ensure that unsigned integer operations do not wrap
2930 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2930 ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
2930 ARR38-C. Guarantee that library functions do not form invalid pointers
2930 EXP08-C. Ensure pointer arithmetic is used correctly
2931 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2931 ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
2931 EXP08-C. Ensure pointer arithmetic is used correctly
2932 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2932 ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
2932 ARR38-C. Guarantee that library functions do not form invalid pointers
2932 EXP08-C. Ensure pointer arithmetic is used correctly
2933 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2933 ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
2933 ARR38-C. Guarantee that library functions do not form invalid pointers
2933 EXP08-C. Ensure pointer arithmetic is used correctly
2934 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2934 ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
2934 ARR38-C. Guarantee that library functions do not form invalid pointers
2934 EXP08-C. Ensure pointer arithmetic is used correctly
2940 INT16-C. Do not make assumptions about representation of signed integers
2941 INT16-C. Do not make assumptions about representation of signed integers
2942 INT16-C. Do not make assumptions about representation of signed integers
2943 INT16-C. Do not make assumptions about representation of signed integers
2945 INT16-C. Do not make assumptions about representation of signed integers
2946 INT16-C. Do not make assumptions about representation of signed integers
2947 INT16-C. Do not make assumptions about representation of signed integers
2948 INT16-C. Do not make assumptions about representation of signed integers
2950 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2951 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2952 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
2953 ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
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
2980 MSC07-C. Detect and remove dead code
2980 MSC12-C. Detect and remove code that has no effect or is never executed
2980 MSC13-C. Detect and remove unused values
2981 MSC07-C. Detect and remove dead code
2981 MSC12-C. Detect and remove code that has no effect or is never executed
2981 MSC13-C. Detect and remove unused values
2982 MSC07-C. Detect and remove dead code
2982 MSC12-C. Detect and remove code that has no effect or is never executed
2982 MSC13-C. Detect and remove unused values
2983 MSC07-C. Detect and remove dead code
2983 MSC12-C. Detect and remove code that has no effect or is never executed
2983 MSC13-C. Detect and remove unused values
2984 MSC07-C. Detect and remove dead code
2984 MSC12-C. Detect and remove code that has no effect or is never executed
2984 MSC13-C. Detect and remove unused values
2985 MSC07-C. Detect and remove dead code
2985 MSC12-C. Detect and remove code that has no effect or is never executed
2985 MSC13-C. Detect and remove unused values
2986 MSC07-C. Detect and remove dead code
2986 MSC12-C. Detect and remove code that has no effect or is never executed
2986 MSC13-C. Detect and remove unused values
3002 EXP37-C. Call functions with the correct number and type of arguments
3004 EXP16-C. Do not compare function pointers to constant values
3103 INT10-C. Do not assume a positive remainder when using the % operator
3108 MSC04-C. Use comments consistently and in a readable fashion
3109 EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
3110 MSC12-C. Detect and remove code that has no effect or is never executed
3112 MSC12-C. Detect and remove code that has no effect or is never executed
3113 MSC15-C. Do not depend on undefined behavior
3114 MSC15-C. Do not depend on undefined behavior
3120 DCL06-C. Use meaningful symbolic constants to represent literal values
3120 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3121 DCL06-C. Use meaningful symbolic constants to represent literal values
3121 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3122 DCL06-C. Use meaningful symbolic constants to represent literal values
3122 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3123 DCL06-C. Use meaningful symbolic constants to represent literal values
3123 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3131 DCL06-C. Use meaningful symbolic constants to represent literal values
3131 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3132 DCL06-C. Use meaningful symbolic constants to represent literal values
3132 EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
3196 MSC07-C. Detect and remove dead code
3196 MSC12-C. Detect and remove code that has no effect or is never executed
3196 MSC13-C. Detect and remove unused values
3200 ERR33-C. Detect and handle standard library errors
3200 POS54-C. Detect and handle POSIX library errors
3200 EXP12-C. Do not ignore values returned by functions
3202 MSC07-C. Detect and remove dead code
3202 MSC12-C. Detect and remove code that has no effect or is never executed
3203 MSC07-C. Detect and remove dead code
3203 MSC12-C. Detect and remove code that has no effect or is never executed
3203 MSC13-C. Detect and remove unused values
3204 DCL00-C. Const-qualify immutable objects
3205 MSC07-C. Detect and remove dead code
3205 MSC12-C. Detect and remove code that has no effect or is never executed
3205 MSC13-C. Detect and remove unused values
3206 MSC07-C. Detect and remove dead code
3206 MSC12-C. Detect and remove code that has no effect or is never executed
3206 MSC13-C. Detect and remove unused values
3207 MSC07-C. Detect and remove dead code
3207 MSC12-C. Detect and remove code that has no effect or is never executed
3207 MSC13-C. Detect and remove unused values
3210 DCL19-C. Minimize the scope of variables and functions
3210 MSC07-C. Detect and remove dead code
3210 MSC12-C. Detect and remove code that has no effect or is never executed
3217 DCL30-C. Declare objects with appropriate storage durations
3217 DCL21-C. Understand the storage of compound literals
3218 DCL19-C. Minimize the scope of variables and functions
3219 MSC07-C. Detect and remove dead code
3219 MSC12-C. Detect and remove code that has no effect or is never executed
3225 DCL30-C. Declare objects with appropriate storage durations
3226 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
3227 DCL00-C. Const-qualify immutable objects
3229 MSC07-C. Detect and remove dead code
3229 MSC12-C. Detect and remove code that has no effect or is never executed
3229 MSC13-C. Detect and remove unused values
3230 DCL30-C. Declare objects with appropriate storage durations
3232 DCL00-C. Const-qualify immutable objects
3234 DCL41-C. Do not declare variables inside a switch statement before the first case label
3236 MSC40-C. Do not violate constraints
3237 MSC40-C. Do not violate constraints
3238 MSC40-C. Do not violate constraints
3239 MSC15-C. Do not depend on undefined behavior
3244 MSC40-C. Do not violate constraints
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
3307 MSC12-C. Detect and remove code that has no effect or is never executed
3311 MSC15-C. Do not depend on undefined behavior
3312 MSC15-C. Do not depend on undefined behavior
3314 EXP45-C. Do not perform assignments in selection statements
3319 MSC15-C. Do not depend on undefined behavior
3320 EXP37-C. Call functions with the correct number and type of arguments
3326 EXP45-C. Do not perform assignments in selection statements
3326 EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
3334 DCL01-C. Do not reuse variable names in subscopes
3335 DCL31-C. Declare identifiers before using them
3335 EXP37-C. Call functions with the correct number and type of arguments
3335 DCL07-C. Include the appropriate type information in function declarators
3340 FLP30-C. Do not use floating-point variables as loop counters
3342 FLP30-C. Do not use floating-point variables as loop counters
3344 EXP45-C. Do not perform assignments in selection statements
3344 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
3344 EXP16-C. Do not compare function pointers to constant values
3344 EXP20-C. Perform explicit tests to determine success, true and false, and equality
3389 EXP00-C. Use parentheses for precedence of operation
3390 EXP00-C. Use parentheses for precedence of operation
3391 EXP00-C. Use parentheses for precedence of operation
3392 EXP00-C. Use parentheses for precedence of operation
3392 EXP13-C. Treat relational and equality operators as if they were nonassociative
3393 EXP00-C. Use parentheses for precedence of operation
3394 EXP00-C. Use parentheses for precedence of operation
3395 EXP00-C. Use parentheses for precedence of operation
3396 EXP00-C. Use parentheses for precedence of operation
3397 EXP00-C. Use parentheses for precedence of operation
3398 EXP00-C. Use parentheses for precedence of operation
3399 EXP00-C. Use parentheses for precedence of operation
3400 EXP00-C. Use parentheses for precedence of operation
3401 EXP13-C. Treat relational and equality operators as if they were nonassociative
3404 MSC07-C. Detect and remove dead code
3404 MSC12-C. Detect and remove code that has no effect or is never executed
3404 MSC12-C. Detect and remove code that has no effect or is never executed
3408 DCL07-C. Include the appropriate type information in function declarators
3409 PRE02-C. Macro replacement lists should be parenthesized
3410 PRE01-C. Use parentheses within macros around parameter names
3412 PRE10-C. Wrap multistatement macros in a do-while loop
3412 PRE11-C. Do not conclude macro definitions with a semicolon
3413 PRE03-C. Prefer typedefs to defines for encoding non-pointer types
3415 EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
3416 EXP45-C. Do not perform assignments in selection statements
3422 MSC07-C. Detect and remove dead code
3422 MSC12-C. Detect and remove code that has no effect or is never executed
3423 MSC07-C. Detect and remove dead code
3423 MSC12-C. Detect and remove code that has no effect or is never executed
3425 MSC07-C. Detect and remove dead code
3425 MSC12-C. Detect and remove code that has no effect or is never executed
3426 MSC12-C. Detect and remove code that has no effect or is never executed
3427 MSC12-C. Detect and remove code that has no effect or is never executed
3437 MSC15-C. Do not depend on undefined behavior
3438 MSC15-C. Do not depend on undefined behavior
3450 DCL07-C. Include the appropriate type information in function declarators
3453 PRE00-C. Prefer inline or static functions to function-like macros
3454 PRE31-C. Avoid side effects in arguments to unsafe macros
3455 PRE31-C. Avoid side effects in arguments to unsafe macros
3456 PRE31-C. Avoid side effects in arguments to unsafe macros
3456 PRE12-C. Do not define unsafe macros
3458 PRE10-C. Wrap multistatement macros in a do-while loop
3470 MSC07-C. Detect and remove dead code
3470 MSC12-C. Detect and remove code that has no effect or is never executed
3601 PRE07-C. Avoid using repeated question marks
3664 MSC14-C. Do not introduce unnecessary platform dependencies
3670 MEM05-C. Avoid large stack allocations
3673 DCL00-C. Const-qualify immutable objects
3673 DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
3674 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
3684 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
3804 FLP36-C. Preserve precision when converting integral values to floating-point type
4111 EXP13-C. Treat relational and equality operators as if they were nonassociative
4112 EXP13-C. Treat relational and equality operators as if they were nonassociative
4113 EXP13-C. Treat relational and equality operators as if they were nonassociative
4116 EXP20-C. Perform explicit tests to determine success, true and false, and equality
4117 FLP06-C. Convert integers to floating point for floating-point operations
4118 FLP06-C. Convert integers to floating point for floating-point operations
4140 DCL30-C. Declare objects with appropriate storage durations
4401 INT02-C. Understand integer conversion rules
4401 INT07-C. Use only explicitly signed or unsigned char type for numeric values
4402 INT02-C. Understand integer conversion rules
4403 INT02-C. Understand integer conversion rules
4404 INT02-C. Understand integer conversion rules
4405 INT02-C. Understand integer conversion rules
4410 INT02-C. Understand integer conversion rules
4412 INT02-C. Understand integer conversion rules
4413 STR34-C. Cast characters to unsigned char before converting to larger integer sizes
4413 STR37-C. Arguments to character-handling functions must be representable as an unsigned char
4413 INT02-C. Understand integer conversion rules
4414 STR34-C. Cast characters to unsigned char before converting to larger integer sizes
4414 STR37-C. Arguments to character-handling functions must be representable as an unsigned char
4414 INT02-C. Understand integer conversion rules
4415 INT02-C. Understand integer conversion rules
4420 INT02-C. Understand integer conversion rules
4421 INT02-C. Understand integer conversion rules
4421 INT07-C. Use only explicitly signed or unsigned char type for numeric values
4422 INT02-C. Understand integer conversion rules
4423 INT02-C. Understand integer conversion rules
4424 INT02-C. Understand integer conversion rules
4425 INT02-C. Understand integer conversion rules
4430 INT02-C. Understand integer conversion rules
4431 INT02-C. Understand integer conversion rules
4431 INT07-C. Use only explicitly signed or unsigned char type for numeric values
4432 INT02-C. Understand integer conversion rules
4434 INT02-C. Understand integer conversion rules
4435 INT02-C. Understand integer conversion rules
4436 INT02-C. Understand integer conversion rules
4437 INT02-C. Understand integer conversion rules
4440 INT02-C. Understand integer conversion rules
4441 INT02-C. Understand integer conversion rules
4441 INT07-C. Use only explicitly signed or unsigned char type for numeric values
4442 INT02-C. Understand integer conversion rules
4443 INT02-C. Understand integer conversion rules
4445 INT02-C. Understand integer conversion rules
4446 INT02-C. Understand integer conversion rules
4447 INT02-C. Understand integer conversion rules
4450 FLP34-C. Ensure that floating-point conversions are within range of the new type
4451 FLP34-C. Ensure that floating-point conversions are within range of the new type
4451 INT07-C. Use only explicitly signed or unsigned char type for numeric values
4452 FLP34-C. Ensure that floating-point conversions are within range of the new type
4453 FLP34-C. Ensure that floating-point conversions are within range of the new type
4453 FLP36-C. Preserve precision when converting integral values to floating-point type
4454 FLP34-C. Ensure that floating-point conversions are within range of the new type
4454 FLP36-C. Preserve precision when converting integral values to floating-point type
4460 INT02-C. Understand integer conversion rules
4461 INT02-C. Understand integer conversion rules
4462 FLP34-C. Ensure that floating-point conversions are within range of the new type
4463 INT02-C. Understand integer conversion rules
4464 INT02-C. Understand integer conversion rules
4465 FLP34-C. Ensure that floating-point conversions are within range of the new type
4470 INT02-C. Understand integer conversion rules
4471 INT02-C. Understand integer conversion rules
4480 INT02-C. Understand integer conversion rules
4481 INT02-C. Understand integer conversion rules
4490 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
4491 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
4492 INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
4502 EXP46-C. Do not use a bitwise operator with a Boolean-like operand
4532 INT13-C. Use bitwise operators only on unsigned operands
4533 INT13-C. Use bitwise operators only on unsigned operands
4534 INT13-C. Use bitwise operators only on unsigned operands
4543 INT13-C. Use bitwise operators only on unsigned operands
4544 INT13-C. Use bitwise operators only on unsigned operands
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
5001 PRE04-C. Do not reuse a standard header file name
5002 PRE08-C. Guarantee that header file names are unique
5003 PRE09-C. Do not replace secure functions with deprecated or obsolescent functions
5004 DCL05-C. Use typedefs of non-pointer types only
5005 INT05-C. Do not use input functions to convert character data if they cannot handle all possible inputs
5007 STR06-C. Do not assume that strtok() leaves the parse string unchanged
5008 STR07-C. Use the bounds-checking interfaces for string manipulation
5009 STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
5010 MEM03-C. Clear sensitive information stored in reusable resources
5011 FIO01-C. Be careful using functions that use file names for identification
5012 FIO03-C. Do not make assumptions about fopen() and file creation
5013 FIO06-C. Create files with appropriate access permissions
5014 FIO08-C. Take care when calling remove() on an open file
5015 FIO10-C. Take care when using the rename() function
5016 FIO21-C. Do not create temporary files in shared directories
5017 ENV03-C. Sanitize the environment when invoking external programs
5018 ENV33-C. Do not call system()
5019 SIG00-C. Mask signals handled by noninterruptible signal handlers
5020 SIG01-C. Understand implementation-specific details regarding signal handler persistence
5021 SIG34-C. Do not call signal() from within interruptible signal handlers
5022 MSC30-C. Do not use the rand() function for generating pseudorandom numbers
5023 POS33-C. Do not use vfork()
5024 POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument
5025 FLP32-C. Prevent or detect domain and range errors in math functions
5026 FLP37-C. Do not use object representations to compare floating-point values
5027 MEM36-C. Do not modify the alignment of objects by calling realloc()
5030 ERR34-C. Detect errors when converting a string to a number
5031 MSC32-C. Properly seed pseudorandom number generators
5032 MSC33-C. Do not pass invalid data to the asctime() function