Rule ID | header |
---|
AUTOSAR-A0_1_5-a | There shall be no unused named parameters in virtual functions |
AUTOSAR-A12_1_3-a | User-defined constructors that initialize data members with the same constant values across all constructors should initialize using NSDMI instead |
AUTOSAR-A12_1_6-a | Derived classes that do not need further explicit initialization and require all the constructors from the base class shall use inheriting constructors |
AUTOSAR-A15_3_4-a | Avoid using catch-all exception handlers |
AUTOSAR-A15_4_5-a | Checked exceptions that could be thrown from a function shall be specified in the comment directly before the function declaration |
AUTOSAR-A15_5_2-c | The 'quick_exit()' and '_Exit()' functions from the 'stdlib.h' or 'cstdlib' library shall not be used |
AUTOSAR-A1_1_1-a | The 'register' storage class specifier shall not be used |
AUTOSAR-A1_1_1-b | A copy assignment operator should be declared when a copy constructor is declared (and vice versa) |
AUTOSAR-A1_1_1-c | Both copy constructor and copy assignment operator should be declared for classes with a nontrivial destructor |
AUTOSAR-A1_1_1-d | The C library shall not be used |
AUTOSAR-A1_1_1-e | Prefer lambdas over std::bind, std::bind1st and std::bind2nd |
AUTOSAR-A1_1_1-f | The 'binder1st' and 'binder2nd' identifiers should not be used |
AUTOSAR-A1_1_1-g | Prefer to use std::unique_ptr instead of std::auto_ptr |
AUTOSAR-A1_1_1-h | The 'random_shuffle' identifier should not be used |
AUTOSAR-A1_1_1-i | Do not use the increment operator (++) on an operand of type 'bool' |
AUTOSAR-A1_1_1-j | The 'set_unexpected' identifier should not be used |
AUTOSAR-A1_1_1-k | Do not use throw exception specifications |
AUTOSAR-A27_0_4-a | Don't use unsafe C functions that do write to range-unchecked buffers |
AUTOSAR-A27_0_4-b | Avoid using unsafe string functions that do not check bounds |
AUTOSAR-A27_0_4-c | Do not use the 'char' buffer to store input from 'std::cin' |
AUTOSAR-A27_0_4-d | C-style strings shall not be used |
AUTOSAR-A2_10_4-a | The identifier name of a non-member object with static storage duration shall not be reused within a namespace |
AUTOSAR-A2_10_4-b | The identifier name of a non-member static function shall not be reused within a namespace |
AUTOSAR-A2_7_3-a | All declarations of types, data members, and functions should be preceded by a comment annotated with the '@brief' tag |
AUTOSAR-A2_7_3-b | Function parameters and return type should be documented in a comment that precedes the function declaration |
AUTOSAR-A3_3_2-a | Static and thread-local objects shall be constant-initialized |
AUTOSAR-A5_1_6-a | Return type of a non-void return type lambda expression should be explicitly specified |
AUTOSAR-A5_1_8-a | Lambda expressions should not be defined inside another lambda expression |
AUTOSAR-A5_3_1-a | The operand of the 'typeid' operator shall not contain any expression that has side effects |
AUTOSAR-A5_3_1-b | The operand of the 'typeid' operator shall not contain a function call that causes side effects |
AUTOSAR-A6_2_1-a | Copy assignment operators should not have side effects that could affect copying the object |
AUTOSAR-A6_2_1-b | Move assignment operators should not have side effects that could affect moving the object |
AUTOSAR-A6_2_2-a | Expression statements shall not be explicit calls to constructors of temporary objects only |
AUTOSAR-A7_1_5-a | Do not overuse 'auto' specifier |
AUTOSAR-A8_2_1-a | Use a trailing return type syntax if the return type is preceded by the 'typename' keyword |
AUTOSAR-A8_4_8-a | Output parameters shall not be used |
AUTOSAR-A8_5_2-a | Braced-initialization {}, without equals sign, shall be used for variable initialization |
AUTOSAR-A8_5_3-a | A variable of type auto shall not be initialized using '{}' or '={}' braced-initialization |
AUTOSAR-M15_3_7-a | Where multiple handlers are provided in a single 'try-catch' statement or 'function-try-block', any ellipsis (catch-all) handler shall occur last |
AUTOSAR-M18_0_3-b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
AUTOSAR-M18_0_3-c | The 'system()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
AUTOSAR-M18_0_3-d | The 'getenv()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
BD-RES-INSUFMEM | Allocate sufficient memory to hold an object of a given type |
BD-SECURITY-XXEXRC | Disable resolving XML external entities (XXE) in libxerces-c |
CERT_C-ERR04-b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
CERT_C-ERR04-c | The 'quick_exit()' and '_Exit()' functions from the 'stdlib.h' or 'cstdlib' library shall not be used |
CERT_C-ERR05-b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
CERT_C-ERR05-c | The 'quick_exit()' and '_Exit()' functions from the 'stdlib.h' or 'cstdlib' library shall not be used |
CERT_C-INT31-o | Avoid integer overflows |
CERT_CPP-ERR50-n | The 'quick_exit()' and '_Exit()' functions from the 'stdlib.h' or 'cstdlib' library shall not be used |
CERT_CPP-EXP52-d | The operand of the 'typeid' operator shall not contain any expression that has side effects |
CERT_CPP-EXP52-e | The operand of the 'typeid' operator shall not contain a function call that causes side effects |
CODSTA-204 | Functions declared as 'noreturn' shall have the 'void' return type |
CODSTA-CPP-103 | Output parameters shall not be used |
CODSTA-CPP-104_b | The operand of the 'typeid' operator shall not contain a function call that causes side effects |
CODSTA-CPP-104 | The operand of the 'typeid' operator shall not contain any expression that has side effects |
CODSTA-MCPP-07_b | The 'binder1st' and 'binder2nd' identifiers should not be used |
CODSTA-MCPP-13_b | The 'std::forward' function shall be used to forward universal references |
CODSTA-MCPP-32 | Static and thread-local objects shall be constant-initialized |
CODSTA-MCPP-37 | Derived classes that do not need further explicit initialization and require all the constructors from the base class shall use inheriting constructors |
CODSTA-MCPP-38 | Braced-initialization {}, without equals sign, shall be used for variable initialization |
CODSTA-MCPP-39 | A variable of type auto shall not be initialized using '{}' or '={}' braced-initialization |
CODSTA-MCPP-40 | Do not overuse 'auto' specifier |
CODSTA-MCPP-41 | The 'random_shuffle' identifier should not be used |
CODSTA-MCPP-42 | Do not use the increment operator (++) on an operand of type 'bool' |
CODSTA-MCPP-43 | The 'set_unexpected' identifier should not be used |
CODSTA-MCPP-44 | Lambda expressions should not be defined inside another lambda expression |
CODSTA-MCPP-45 | Return type of a non-void return type lambda expression should be explicitly specified |
CODSTA-MCPP-46 | Include a parameter list in every lambda expression |
COMMENT-04_b | Document functions in comments that precede function declarations |
COMMENT-14_b | Function parameters and return type should be documented in a comment that precedes the function declaration |
COMMENT-14 | All declarations of types, data members, and functions should be preceded by a comment annotated with the '@brief' tag |
CWE-119-a | Avoid accessing arrays out of bounds |
CWE-119-b | Avoid accessing arrays and pointers out of bounds |
CWE-119-c | Avoid buffer overflow due to defining incorrect format limits |
CWE-119-d | Avoid overflow when reading from a buffer |
CWE-119-e | Avoid overflow when writing to a buffer |
CWE-119-f | Avoid tainted data in array indexes |
CWE-119-g | Prevent buffer overflows from tainted data |
CWE-119-h | Avoid buffer read overflow from tainted data |
CWE-119-i | Avoid buffer write overflow from tainted data |
CWE-119-j | Suspicious use of 'strcpy' without checking size of source buffer |
CWE-125-a | Avoid accessing arrays out of bounds |
CWE-125-b | Avoid accessing arrays and pointers out of bounds |
CWE-125-c | Avoid overflow when reading from a buffer |
CWE-125-d | Avoid buffer read overflow from tainted data |
CWE-190-a | Avoid integer overflows |
CWE-190-b | Avoid possible integer overflow in expressions in which the result is cast to a wider integer type |
CWE-190-c | Avoid possible integer overflow in expressions in which the result is assigned to a variable of a wider integer type |
CWE-190-d | Avoid possible integer overflow in expressions in which the result is compared to an expression of a wider integer type |
CWE-190-e | Integer overflow or underflow in constant expression in '+', '-', '*' operator |
CWE-190-f | Integer overflow or underflow in constant expression in '<<' operator |
CWE-190-g | Evaluation of constant unsigned integer expressions should not lead to wrap-around |
CWE-20-a | Avoid tainted data in array indexes |
CWE-20-b | Protect against integer overflow/underflow from tainted data |
CWE-20-c | Avoid passing unvalidated binary data to log methods |
CWE-20-d | Protect against command injection |
CWE-20-e | Avoid printing tainted data on the output console |
CWE-20-f | Protect against environment injection |
CWE-20-g | Exclude unsanitized user input from format strings |
CWE-20-h | Protect against SQL injection |
CWE-20-i | Protect against file name injection |
CWE-20-j | Untrusted data is used as a loop boundary |
CWE-200-a | Do not print potentially sensitive information, resulting from an application error into exception messages |
CWE-22-a | Protect against file name injection |
CWE-269-a | Observe correct revocation order while relinquishing privileges |
CWE-269-b | Ensure that privilege relinquishment is successful |
CWE-287-a | Do not use weak encryption functions |
CWE-326-a | Do not use weak encryption functions |
CWE-362-a | Usage of functions prone to race is not allowed |
CWE-362-b | Avoid race conditions while accessing files |
CWE-362-c | Use locks to prevent race conditions when modifying bit fields |
CWE-362-d | Avoid race conditions when using fork and file descriptors |
CWE-362-e | Do not use global variable with different locks set |
CWE-400-a | Do not create variables on the stack above the defined limits |
CWE-415-a | Do not use resources that have been freed |
CWE-416-a | Do not use resources that have been freed |
CWE-416-b | Do not point to a wrapped object that has been freed |
CWE-416-c | Freed memory shouldn't be accessed under any circumstances |
CWE-426-a | Use care to ensure that LoadLibrary() will load the correct library |
CWE-476-a | Avoid null pointer dereferencing |
CWE-476-b | Do not check for null after dereferencing |
CWE-611-a | Disable resolving XML external entities (XXE) in libxerces-c |
CWE-617-a | Do not use assertions |
CWE-704-a | Conversions shall not be performed between a pointer to a function and any other type than pointer to function |
CWE-704-b | Conversions shall not be performed between non compatible pointer to a function types |
CWE-704-c | Conversions shall not be performed between a pointer to an incomplete type and any other type |
CWE-704-d | A cast shall not be performed between a pointer to object type and a pointer to a different object type |
CWE-704-e | A conversion should not be performed between a pointer to object type and an integer type other than 'uintptr_t' or 'intptr_t' |
CWE-704-f | A conversion should not be performed from pointer to void into pointer to object |
CWE-704-g | A cast shall not be performed between pointer to void and an arithmetic type |
CWE-704-h | An implicit conversion shall not be performed between pointer to void and an arithmetic type |
CWE-704-i | A cast shall not be performed between pointer to object and a non-integer arithmetic type |
CWE-704-j | Implicit conversions from wider to narrower integral type which may result in a loss of information shall not be used |
CWE-704-k | Implicit conversions from integral to floating type which may result in a loss of information shall not be used |
CWE-704-l | Implicit conversions from integral constant to floating type which may result in a loss of information shall not be used |
CWE-732-a | Call 'umask' before calling 'mkstemp' |
CWE-732-b | Specify the access permission bits if a file is created using the 'open' or 'openat' system call |
CWE-770-a | Ensure resources are freed |
CWE-772-a | Ensure resources are freed |
CWE-772-b | Define a virtual destructor in classes used as base classes which have virtual functions |
CWE-78-a | Protect against command injection |
CWE-787-a | Avoid accessing arrays out of bounds |
CWE-787-b | Avoid accessing arrays and pointers out of bounds |
CWE-787-c | Avoid buffer overflow due to defining incorrect format limits |
CWE-787-d | Avoid overflow when writing to a buffer |
CWE-787-e | Prevent buffer overflows from tainted data |
CWE-787-f | Avoid buffer write overflow from tainted data |
CWE-798-a | Do not hard code string literals |
CWE-835-a | Avoid infinite loops |
CWE-863-a | Do not use 'cuserid' function |
CWE-89-a | Protect against SQL injection |
EXCEPT-22 | Checked exceptions that could be thrown from a function shall be specified in the comment directly before the function declaration |
EXCEPT-23 | Do not use throw exception specifications |
EXCEPT-24 | Where multiple handlers are provided in a single 'try-catch' statement or 'function-try-block', any ellipsis (catch-all) handler shall occur last |
EXCEPT-25 | Do not leave 'catch' blocks empty |
EXCEPT-26 | Avoid using catch-all exception handlers |
GLOBAL-REUSEDQUALGLOBVAR | The identifier name of a non-member object with static storage duration shall not be reused within a namespace |
GLOBAL-REUSEDQUALSTATFUN | The identifier name of a non-member static function shall not be reused within a namespace |
HICPP-17_2_1-b | The error indicator 'errno' shall not be used |
HICPP-5_1_6-e | The operand of the 'typeid' operator shall not contain any expression that has side effects |
HICPP-5_1_6-f | The operand of the 'typeid' operator shall not contain a function call that causes side effects |
INIT-17 | User-defined constructors that initialize data members with the same constant values across all constructors should initialize using NSDMI instead |
JSF-024_b | The library function 'exit' of <stdlib.h> shall not be used |
JSF-024_c | The library function 'getenv' of <stdlib.h> shall not be used |
JSF-024_d | The library function 'system' of <stdlib.h> shall not be used |
JSF-134_b | Document functions in comments that precede function declarations |
MISRA2004-20_11_b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRA2004-20_11_c | The 'getenv()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRA2004-20_11_d | The 'system()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRA2008-18_0_3_b | The library function 'exit' of <stdlib.h> shall not be used |
MISRA2008-18_0_3_c | The library function 'getenv' of <stdlib.h> shall not be used |
MISRA2008-18_0_3_d | The library function 'system' of <stdlib.h> shall not be used |
MISRA2012-RULE-21_8_b | The library function 'exit' of <stdlib.h> shall not be used |
MISRA2012-RULE-21_8_c | The library function 'getenv' of <stdlib.h> shall not be used |
MISRA2012-RULE-21_8_d | The library function 'system' of <stdlib.h> shall not be used |
MISRA2012-RULE-2_2_b | Avoid unused values |
MISRAC2012-RULE_21_8-b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRAC2012-RULE_21_8-c | The 'system()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRAC2012-RULE_21_8-d | The 'getenv()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
MISRAC2012-RULE_2_2-b | Avoid unused values |
MRM-56 | Copy assignment operators should not have side effects that could affect copying the object |
MRM-57 | Move assignment operators should not have side effects that could affect moving the object |
OPT-42 | There shall be no unused named parameters in virtual functions |
OWASP2017-A1-a | Avoid passing unvalidated binary data to log methods |
OWASP2017-A1-b | Protect against command injection |
OWASP2017-A1-c | Avoid printing tainted data on the output console |
OWASP2017-A1-d | Protect against environment injection |
OWASP2017-A1-e | Exclude unsanitized user input from format strings |
OWASP2017-A1-f | Protect against SQL injection |
OWASP2017-A10-a | All exceptions should be rethrown or logged with standard logger |
OWASP2017-A2-a | Do not use weak encryption functions |
OWASP2017-A3-a | Properly seed pseudorandom number generators |
OWASP2017-A4-a | Disable resolving XML external entities (XXE) in libxerces-c |
OWASP2017-A5-a | Protect against file name injection |
OWASP2017-A5-b | Observe correct revocation order while relinquishing privileges |
OWASP2017-A5-c | Ensure that privilege relinquishment is successful |
OWASP2017-A6-a | Where multiple handlers are provided in a single try-catch statement or function-try-block for a derived class and some or all of its bases, the handlers shall be ordered most-derived to base class |
OWASP2017-A6-b | Do not leave 'catch' blocks empty |
OWASP2017-A6-c | Properly use errno value |
PB-75_b | The 'exit()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
PB-75_c | The 'quick_exit()' and '_Exit()' functions from the 'stdlib.h' or 'cstdlib' library shall not be used |
PB-76 | C-style strings shall not be used |
PB-77 | Expression statements shall not be explicit calls to constructors of temporary objects only |
SECURITY-48_b | The 'system()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
SECURITY-51 | Do not use the 'char' buffer to store input from 'std::cin' |
SECURITY-52 | The 'getenv()' function from the 'stdlib.h' or 'cstdlib' library shall not be used |
TEMPL-17 | Use a trailing return type syntax if the return type is preceded by the 'typename' keyword |