Checker | Guideline |
---|
AssignmentInSubExpression | EXP45-C. Do not perform assignments in selection statements |
ElseIfWithoutElse | MSC01-C. Strive for logical completeness |
IdentifierLongerThan31 | DCL23-C. Guarantee that mutually visible identifiers are unique |
IncAndDecMixedWithOtherOperators | EXP30-C. Do not depend on the order of evaluation for side effects |
LiteralSuffix | DCL16-C. Use "L," not "l," to indicate a long value |
NarrowAndWideStringConcat | STR10-C. Do not concatenate different type of string literals |
NonEmptyCaseWithoutBreak | MSC17-C. Finish every set of statements associated with a case label with a break statement |
ObsoletePosixFunction | POS33-C. Do not use vfork() |
OctalConstantAndSequence | DCL18-C. Do not begin integer constants with 0 when specifying a decimal value |
S121 | EXP19-C. Use braces for the body of an if, for, or while statement |
S810 | STR00-C. Represent characters using an appropriate type |
S810 | STR04-C. Use plain char for characters in the basic character set |
S814 | INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression |
S819 | DCL31-C. Declare identifiers before using them |
S819 | DCL07-C. Include the appropriate type information in function declarators |
S820 | DCL31-C. Declare identifiers before using them |
S820 | INT07-C. Use only explicitly signed or unsigned char type for numeric values |
S834 | ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer |
S864 | EXP00-C. Use parentheses for precedence of operation |
S874 | INT13-C. Use bitwise operators only on unsigned operands |
S929 | DCL20-C. Explicitly specify void when a function accepts no arguments |
S930 | EXP37-C. Call functions with the correct number and type of arguments |
S930 | DCL07-C. Include the appropriate type information in function declarators |
S935 | MSC37-C. Ensure that control never reaches the end of a non-void function |
S960 | PRE00-C. Prefer inline or static functions to function-like macros |
S973 | MSC00-C. Compile cleanly at high warning levels |
S978 | DCL37-C. Do not declare or define a reserved identifier |
S982 | MSC22-C. Use the setjmp(), longjmp() facility securely |
S989 | ERR34-C. Detect errors when converting a string to a number |
S990 | ENV33-C. Do not call system() |
S1036 | MSC20-C. Do not use a switch statement to transfer control into a complex block |
S1065 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1081 | STR07-C. Use the bounds-checking interfaces for string manipulation |
S1116 | EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement |
S1116 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1172 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1578 | MSC09-C. Character encoding: Use subset of ASCII for safety |
S1656 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1751 | MSC07-C. Detect and remove dead code |
S1751 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1762 | MSC00-C. Compile cleanly at high warning levels |
S1763 | MSC07-C. Detect and remove dead code |
S1763 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1764 | MSC12-C. Detect and remove code that has no effect or is never executed |
S1767 | INT36-C. Converting a pointer to integer or integer to pointer |
S1836 | EXP43-C. Avoid undefined behavior when using restrict-qualified pointers |
S1854 | MSC13-C. Detect and remove unused values |
S1862 | MSC12-C. Detect and remove code that has no effect or is never executed |
S2095 | FIO42-C. Close files when they are no longer needed |
S2193 | FLP30-C. Do not use floating-point variables as loop counters |
S2259 | EXP34-C. Do not dereference null pointers |
S2583 | MSC12-C. Detect and remove code that has no effect or is never executed |
S2589 | MSC12-C. Detect and remove code that has no effect or is never executed |
S2754 | MSC12-C. Detect and remove code that has no effect or is never executed |
S3518 | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors |
S3584 | MEM31-C. Free dynamically allocated memory when no longer needed |
S3588 | FIO46-C. Do not access a closed file |
SideEffectInRightHandSideOfLogical | EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators |
SingleDeclarationPerStatement | DCL04-C. Do not declare more than one variable per declaration |
SwitchWithoutDefault | MSC01-C. Strive for logical completeness |
TrigraphUsage | PRE07-C. Avoid using repeated question marks |