Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info
titleGenerated Content

This page is automatically generated from the "Automated Detection" sections in the individual guidelines. Do not modify this page directly.

Version number:

...

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.

Include Page
c:PRQA QA-C_

...

V
c:PRQA QA-C_

...

V

Checker

Guideline

-wc atol ERR34-C. Detect errors when converting a string to a number
-wc strcat STR07-C. Use the bounds-checking interfaces for string manipulation
-wc strncat STR07-C. Use the bounds-checking interfaces for string manipulation
-wc strncpy STR07-C. Use the bounds-checking interfaces for string manipulation
-wc strtok STR06-C. Do not assume that strtok() leaves the parse string unchanged
0160 MSC15-C. Do not depend on undefined behavior
0161 MSC15-C. Do not depend on undefined behavior
0162 MSC15-C. Do not depend on undefined behavior
0163 MSC15-C. Do not depend on undefined behavior
0164 MSC15-C. Do not depend on undefined behavior
0165 MSC15-C. Do not depend on undefined behavior
0166 MSC15-C. Do not depend on undefined behavior
0167 MSC15-C. Do not depend on undefined behavior
0168 MSC15-C. Do not depend on undefined behavior
0169 MSC15-C. Do not depend on undefined behavior
0170 MSC15-C. Do not depend on undefined behavior
0171 MSC15-C. Do not depend on undefined behavior
0172 MSC15-C. Do not depend on undefined behavior
0173 MSC15-C. Do not depend on undefined behavior
0174 MSC15-C. Do not depend on undefined behavior
0175 MSC15-C. Do not depend on undefined behavior
0176 MSC15-C. Do not depend on undefined behavior
0177 MSC15-C. Do not depend on undefined behavior
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 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
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
0307 MSC15-C. Do not depend on undefined behavior
0309 MSC15-C. Do not depend on undefined behavior
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
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
0429–0432 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
0432 STR38-C. Do not confuse narrow and wide character strings and functions
0432 (C) STR04-C. Use plain char for characters in the basic character set
0434 (C) DCL31-C. Declare identifiers before using them
0435–0437 MSC40-C. Do not violate constraints
0446–0454 MSC40-C. Do not violate constraints
0456–0458 MSC40-C. Do not violate constraints
0466– MSC40-C. Do not violate constraints
0469 MSC40-C. Do not violate constraints
0475 MSC15-C. Do not depend on undefined behavior
0476–0478 MSC40-C. Do not violate constraints
0481–0487 MSC40-C. Do not violate constraints
0487 ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
0488 EXP08-C. Ensure pointer arithmetic is used correctly
0493– 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–0515 MSC40-C. Do not violate constraints
0536 MSC40-C. Do not violate constraints
0537 MSC40-C. Do not violate constraints
0540–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
0556 STR30-C. Do not attempt to modify string literals
0563 EXP40-C. Do not modify constant objects
0565 MSC40-C. Do not violate constraints
0580 MSC40-C. Do not violate constraints
0588–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
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–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
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–0646 MSC40-C. Do not violate constraints
0649–0 MSC40-C. Do not violate constraints
0653 MSC40-C. Do not violate constraints
0654 MSC15-C. Do not depend on undefined behavior
0655–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
0671 MSC40-C. Do not violate constraints
0672 MSC15-C. Do not depend on undefined behavior
0673–0675 MSC40-C. Do not violate constraints
0674 STR04-C. Use plain char for characters in the basic character set
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
0680 MSC15-C. Do not depend on undefined behavior
0682– 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
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
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–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–0758 MSC40-C. Do not violate constraints
0766–0768 MSC40-C. Do not violate constraints
0774 MSC40-C. Do not violate constraints
0775 MSC40-C. Do not violate constraints
0777 DCL23-C. Guarantee that mutually visible identifiers are unique
0777 MSC15-C. Do not depend on undefined behavior
0779 DCL23-C. Guarantee that mutually visible identifiers are unique
0779 MSC15-C. Do not depend on undefined behavior
0790 FLP02-C. Avoid using floating-point numbers when precise computation is needed
0801 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
0801–0804 MSC40-C. Do not violate constraints
0802 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
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
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
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–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 DCL38-C. Use the correct syntax when declaring a flexible array member
1037 MSC14-C. Do not introduce unnecessary platform dependencies
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
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
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
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
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 INT02-C. Understand integer conversion rules
1821 INT02-C. Understand integer conversion rules
1822 INT02-C. Understand integer conversion rules
1823 INT02-C. Understand integer conversion rules
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 INT02-C. Understand integer conversion rules
1841 INT02-C. Understand integer conversion rules
1842 INT02-C. Understand integer conversion rules
1843 INT02-C. Understand integer conversion rules
1844 INT02-C. Understand integer conversion rules
1850 INT02-C. Understand integer conversion rules
1851 INT02-C. Understand integer conversion rules
1852 INT02-C. Understand integer conversion rules
1853 INT02-C. Understand integer conversion rules
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
2 INT02-C. Understand integer conversion rules
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
212 INT02-C. Understand integer conversion rules
2120 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
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
284 MSC14-C. Do not introduce unnecessary platform dependencies
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
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
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 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 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 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 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
3001 DCL20-C. Explicitly specify void when a function accepts no arguments
3002 EXP37-C. Call functions with the correct number and type of arguments
3004 EXP16-C. Do not compare function pointers to constant values
3007 DCL20-C. Explicitly specify void when a function accepts no arguments
305 INT36-C. Converting a pointer to integer or integer to pointer
306 INT36-C. Converting a pointer to integer or integer to pointer
309 INT36-C. Converting a pointer to integer or integer to pointer
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–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 EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
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
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
341 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
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 PRE31-C. Avoid side effects in arguments to unsafe macros
3453 PRE00-C. Prefer inline or static functions to function-like 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
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
428 EXP16-C. Do not compare function pointers to constant values
431 EXP05-C. Do not cast away a const qualification
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
4454 FLP34-C. Ensure that floating-point conversions are within range of the new 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
563 EXP32-C. Do not access a volatile object through a nonvolatile reference
581 MSC14-C. Do not introduce unnecessary platform dependencies
627 DCL23-C. Guarantee that mutually visible identifiers are unique
634 MSC14-C. Do not introduce unnecessary platform dependencies
651 MSC40-C. Do not violate constraints
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
678 ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
696 MEM35-C. Allocate sufficient memory for an object
776 DCL23-C. Guarantee that mutually visible identifiers are unique
778 DCL23-C. Guarantee that mutually visible identifiers are unique
778.779 DCL40-C. Do not create incompatible declarations of the same function or object
803 PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
853 PRE32-C. Do not use preprocessor directives in invocations of function-like macros
874 STR10-C. Do not concatenate different type of string literals
Secondary Analysis PRE08-C. Guarantee that header file names are unique
Secondary analysis DCL05-C. Use typedefs of non-pointer types only
Secondary analysis PRE04-C. Do not reuse a standard header file name
Secondary analysis PRE09-C. Do not replace secure functions with deprecated or obsolescent functions
Warncall -wc atoi ERR34-C. Detect errors when converting a string to a number
Warncall -wc rand MSC30-C. Do not use the rand() function for generating pseudorandom numbers
Warncall -wc remove FIO08-C. Take care when calling remove() on an open file
Warncall -wc signal SIG34-C. Do not call signal() from within interruptible signal handlers
Warncall -wc strcpy STR07-C. Use the bounds-checking interfaces for string manipulation
Warncall -wc system ENV33-C. Do not call system()
Warncall -wc vfork POS33-C. Do not use vfork()
Warncall for scanf etc INT05-C. Do not use input functions to convert character data if they cannot handle all possible inputs
Warncall remove FIO01-C. Be careful using functions that use file names for identification
fopen FIO01-C. Be careful using functions that use file names for identification
freopen FIO01-C. Be careful using functions that use file names for identification
mktemp FIO21-C. Do not create temporary files in shared directories
rename FIO01-C. Be careful using functions that use file names for identification
tmpfile FIO21-C. Do not create temporary files in shared directories
tmpnam_s FIO21-C. Do not create temporary files in shared directories
warncall -wc rename FIO10-C. Take care when using the rename() function
warncall -wc system ENV03-C. Sanitize the environment when invoking external programs
warncall fopen FIO06-C. Create files with appropriate access permissions
warncall for fopen and fopen_s FIO03-C. Do not make assumptions about fopen() and file creation
warncall for putenv POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument
warncall for realloc MEM03-C. Clear sensitive information stored in reusable resources
warncall for signal SIG00-C. Mask signals handled by noninterruptible signal handlers
warncall for signal SIG01-C. Understand implementation-specific details regarding signal handler persistence
warncall tmpnam FIO21-C. Do not create temporary files in shared directories

>