rep_header_logo.png rep_header_3.png
Team configuration:  TBM2.0H v0.3 (based on norm CS.00152_03)
2020-12-03T16:52:19+01:00

STATIC ANALYSIS

Project Name
 
 Tasks   Files  Lines
suppressed qfix total per 10,000 lines checked total checked total
 libsecseal  9  820  8631   11  11   950  950 
 Total [0:01:01]  9   0   820   8631  11  11  950  950 

 
All Tasks by Category
by:   Category   Severity   
  [2]   Exceptions (EXCEPT) 
        [2]   There should be at least one exception handler to catch all otherwise unhandled exceptions (EXCEPT-06-3) 
  [1]   Metrics (METRICS) 
        [1]   The number of blocks of comments before and inside function to the number of statements in function should be > 0.2 (METRICS-41-3) 
  [543]   UNKNOWN (MISRA2008) 
        [8]   There shall be no unused parameters (named or unnamed) in nonvirtual functions (MISRA2008-0_1_11-2) 
        [1]   #include directives in a file shall only be preceded by other preprocessor directives or comments (MISRA2008-16_0_1-2) 
        [231]   Do not use in preprocessor directives #if and #elif macros not defined in translation unit (MISRA2008-16_0_7_b-2) 
        [1]   If the # token appears as the first token on a line, then it shall be immediately followed by a preprocessing token (MISRA2008-16_0_8-2) 
        [12]   Macros shall not be used (MISRA2008-16_2_1_a-2) 
        [3]   The #ifndef and #endif pre-processor directives will only be used to prevent multiple inclusions of the same header file (MISRA2008-16_2_1_b-2) 
        [150]   The following pre-processor directives shall not be used: #if, #elif, #else, #ifdef, #undef, #pragma (MISRA2008-16_2_1_c-2) 
        [4]   C++ macros shall only be used for: include guards, type qualifiers, or storage class specifiers (MISRA2008-16_2_2-2) 
        [1]   Include guards shall be provided (MISRA2008-16_2_3-2) 
        [1]   Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_b-2) 
        [2]   The names of standard library functions shall not be overridden (MISRA2008-17_0_3-2) 
        [1]   The C library shall not be used (MISRA2008-18_0_1-2) 
        [4]   A type, object or function that is used in multiple translation units shall be declared in one and only one file (MISRA2008-3_2_3-2) 
        [4]   An identifier with external linkage shall have exactly one external definition (MISRA2008-3_2_4-2) 
        [1]   Objects or functions with external linkage shall be declared in a header file (MISRA2008-3_3_1-2) 
        [3]   An identifier declared to be an object or type shall be defined in a block that minimizes its visibility (MISRA2008-3_4_1_b-2) 
        [4]   Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator =, the equality operators == and !=, and the unary & operator (MISRA2008-4_5_3-2) 
        [4]   The plain char type shall only be used for the storage and use of character values (MISRA2008-5_0_11-2) 
        [10]   An implicit integral conversion shall not change the signedness of the underlying type (MISRA2008-5_0_4_a-2) 
        [8]   Each operand of a logical && or || shall be a postfix-expression (MISRA2008-5_2_1-2) 
        [8]   C-style casts (other than void casts) and functional notation casts (other than explicit constructor calls) shall not be used (MISRA2008-5_2_4-2) 
        [6]   An object with integer type or pointer to void type shall not be converted to an object with pointer type (MISRA2008-5_2_8-2) 
        [44]   A variable which is not modified shall be const qualified (MISRA2008-7_1_1-2) 
        [8]   A pointer parameter in a function shall be declared as pointer to const if the corresponding object is not modified (MISRA2008-7_1_2_a-2) 
        [24]   The global namespace shall only contain main, namespace declarations and extern "C" declarations (MISRA2008-7_3_1-2) 
  [256]   MISRA C 2012 Rules (MISRA2012-RULE) 
        [2]   An operand of essentially character type should not be used where an operand is interpreted as a numeric value (MISRA2012-RULE-10_1_c-2) 
        [3]   The value of an expression shall not be assigned to an object of a different essential type category (MISRA2012-RULE-10_3_b-2) 
        [3]   Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category (MISRA2012-RULE-10_4_a-2) 
        [1]   A line whose first token is # shall be a valid preprocessing directive (MISRA2012-RULE-20_13-2) 
        [1]   A macro shall not be defined with the same name as a keyword (MISRA2012-RULE-20_4_a-2) 
        [1]   A macro shall not be defined with the same name as a keyword (MISRA2012-RULE-20_4_b-2) 
        [231]   All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be #define'd before evaluation (MISRA2012-RULE-20_9_b-2) 
        [2]   An identifier with name which starts with underscore shall not be declared (MISRA2012-RULE-21_2_a-2) 
        [1]   The character sequence // shall not be used within a C-style comment (MISRA2012-RULE-3_1_b-2) 
        [2]   A compatible declaration shall be visible when an object or function with external linkage is defined (MISRA2012-RULE-8_4_a-2) 
        [4]   An identifier with external linkage shall have exactly one external definition (MISRA2012-RULE-8_6-2) 
        [2]   Functions and objects should not be defined with external linkage if they are referenced in only one translation unit (MISRA2012-RULE-8_7-4) 
        [3]   An object should be defined at block scope if its identifier only appears in a single function (MISRA2012-RULE-8_9-4) 
  [4]   MISRA C 2012 Directives (MISRA2012-DIR) 
        [1]   Precautions shall be taken in order to prevent the contents of a header file being included more than once (MISRA2012-DIR-4_10-2) 
        [3]   typedefs should be used in place of the basic types (MISRA2012-DIR-4_6_b-4) 
  [14]   Security (SECURITY) 
        [14]   Don't trust any value of command line if attacker can set them (SECURITY-35-2) 

Tasks by Author
Back to Top    
Author  Tasks
suppressed Total recommended
 tbm20h-user   9   820   50 

tbm20h-user  Total Tasks :  820 Back to Top    
/libsecseal/Modules/CMakeCCompilerABI.c
1:  Usage of preprocessor directive: #ifdef is not allowed MISRA2008-16_2_1_c-2
2:  Usage of preprocessor directive: #error is not allowed MISRA2008-16_2_1_c-2
5:  Usage of preprocessor directive: #ifdef is not allowed MISRA2008-16_2_1_c-2
6:  Do not redefine 'const' which is C reserved word MISRA2008-17_0_1_b-2
6:  The name of macro 'const' is the same as keyword MISRA2012-RULE-20_4_a-2
6:  The name of macro 'const' is the same as keyword MISRA2012-RULE-20_4_b-2
11:  Usage of preprocessor directive: #ifdef is not allowed MISRA2008-16_2_1_c-2
12:  The basic numerical type 'int' should not be used MISRA2012-DIR-4_6_b-4
14:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
15:  Declare parameter 'argc' as const MISRA2008-7_1_1-2
15:  Pass parameter "argv" with const specifier MISRA2008-7_1_2_a-2
15:  The 'main' function is also defined in other translation units MISRA2012-RULE-8_6-2
15:  The 'main' function is also defined in other translation units MISRA2008-3_2_4-2
15:  The 'main' function is declared in more than one file MISRA2008-3_2_3-2
18:  The basic numerical type 'int' should not be used MISRA2012-DIR-4_6_b-4
19:  Expression of plain char/wchar_t type is used as RHS operand of binary operator MISRA2008-4_5_3-2
19:  No value of command line should be trusted: argc SECURITY-35-2
19:  No value of command line should be trusted: argc SECURITY-35-2
19:  The expression of the 'essentially character' type is assigned to an object with the 'essentially signed' type MISRA2012-RULE-10_3_b-2
19:  The only permissible operators on plain char types are assignment, equality and ternary operators (=, ==, !=, ?: ) MISRA2008-5_0_11-2
19:  The right hand operand of the '+=' operator has essentially character type MISRA2012-RULE-10_1_c-2
20:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
21:  Expression of plain char/wchar_t type is used as RHS operand of binary operator MISRA2008-4_5_3-2
21:  No value of command line should be trusted: argc SECURITY-35-2
21:  No value of command line should be trusted: argc SECURITY-35-2
21:  The expression of the 'essentially character' type is assigned to an object with the 'essentially signed' type MISRA2012-RULE-10_3_b-2
21:  The only permissible operators on plain char types are assignment, equality and ternary operators (=, ==, !=, ?: ) MISRA2008-5_0_11-2
21:  The right hand operand of the '+=' operator has essentially character type MISRA2012-RULE-10_1_c-2
23:  No value of command line should be trusted: argv SECURITY-35-2
/libsecseal/Modules/CMakeCXXCompilerABI.cpp
1:  #ifndef '__cplusplus' pre-processor directive should not be used MISRA2008-16_2_1_b-2
2:  Usage of preprocessor directive: #error is not allowed MISRA2008-16_2_1_c-2
3:  #endif pre-processor directive should not be used MISRA2008-16_2_1_b-2
7:  Declare parameter 'argc' as const MISRA2008-7_1_1-2
7:  Pass parameter "argv" with const specifier MISRA2008-7_1_2_a-2
7:  The 'main' function does not contain a catch(...) to catch all unhandled exceptions EXCEPT-06-3
7:  The 'main' function is also defined in other translation units MISRA2012-RULE-8_6-2
7:  The 'main' function is also defined in other translation units MISRA2008-3_2_4-2
7:  The 'main' function is declared in more than one file MISRA2008-3_2_3-2
9:  The basic numerical type 'int' should not be used MISRA2012-DIR-4_6_b-4
10:  Expression of plain char/wchar_t type is used as RHS operand of binary operator MISRA2008-4_5_3-2
10:  No value of command line should be trusted: argc SECURITY-35-2
10:  No value of command line should be trusted: argc SECURITY-35-2
10:  The only permissible operators on plain char types are assignment, equality and ternary operators (=, ==, !=, ?: ) MISRA2008-5_0_11-2
11:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
12:  Expression of plain char/wchar_t type is used as RHS operand of binary operator MISRA2008-4_5_3-2
12:  No value of command line should be trusted: argc SECURITY-35-2
12:  No value of command line should be trusted: argc SECURITY-35-2
12:  The only permissible operators on plain char types are assignment, equality and ternary operators (=, ==, !=, ?: ) MISRA2008-5_0_11-2
13:  #endif pre-processor directive should not be used MISRA2008-16_2_1_b-2
14:  C-style cast to 'void' type is used MISRA2008-5_2_4-2
14:  No value of command line should be trusted: argv SECURITY-35-2
/libsecseal/Modules/CMakeCompilerABI.h
1:  Multiple include guard should appear as first #ifndef or #if preprocessor directive MISRA2008-16_2_3-2
1:  Multiple include guard should appear as first #ifndef or #if preprocessor directive MISRA2012-DIR-4_10-2
3:  Do not use #define to declare constant values: 'SIZEOF_DPTR' MISRA2008-16_2_1_a-2
4:  Declaration of object 'info_sizeof_dptr' does not precede its definition MISRA2012-RULE-8_4_a-2
4:  Global variable 'info_sizeof_dptr' is being used only in a single function 'main' MISRA2008-3_4_1_b-2
4:  Global variable 'info_sizeof_dptr' is being used only in a single function 'main' MISRA2012-RULE-8_9-4
4:  Global variable 'info_sizeof_dptr' is declared in global namespace MISRA2008-7_3_1-2
4:  The object 'info_sizeof_dptr' is referenced only in the translation unit where it is defined (CMakeCCompilerABI.c) MISRA2012-RULE-8_7-4
6:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
6:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
6:  Operands of the '%' operator have different essential types: 'unsigned int' and 'signed char' MISRA2012-RULE-10_4_a-2
6:  Operands of the '%' operator have different essential types: 'unsigned int' and 'signed char' MISRA2012-RULE-10_4_a-2
6:  Operands of the '/' operator have different essential types: 'unsigned int' and 'signed char' MISRA2012-RULE-10_4_a-2
12:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
13:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
14:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
15:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
16:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
17:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
19:  Do not embed "//" comment marker inside C-style comment: /* Check for (some) ARM ABIs. * See e.g. http://wiki.debian.org/ArmEabiPort for some information on this. */ MISRA2012-RULE-3_1_b-2
21:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
22:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
23:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
24:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
25:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
26:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
28:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
29:  Do not use #define to declare constant values: 'ABI_ID' MISRA2008-16_2_1_a-2
32:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
33:  Global variable 'info_abi' is being used only in a single function 'main' MISRA2008-3_4_1_b-2
33:  Global variable 'info_abi' is being used only in a single function 'main' MISRA2012-RULE-8_9-4
33:  Global variable 'info_abi' is declared in global namespace MISRA2008-7_3_1-2
/libsecseal/build/CMakeFiles/feature_tests.c
2:  Declaration of object 'features' does not precede its definition MISRA2012-RULE-8_4_a-2
2:  Global variable 'features' has external linkage and is not declared in the header MISRA2008-3_3_1-2
2:  The object 'features' is referenced only in the translation unit where it is defined MISRA2012-RULE-8_7-4
4:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
4:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
4:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
4:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
4:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
6:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
11:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
11:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
11:  Macro might be not defined: __STDC_VERSION__ MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __STDC_VERSION__ MISRA2012-RULE-20_9_b-2
11:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
13:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
18:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
18:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
18:  Macro might be not defined: __STDC_VERSION__ MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __STDC_VERSION__ MISRA2012-RULE-20_9_b-2
18:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
20:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
25:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
25:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
25:  Macro might be not defined: __STDC_VERSION__ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __STDC_VERSION__ MISRA2012-RULE-20_9_b-2
25:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
27:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
34:  Declare parameter 'argc' as const MISRA2008-7_1_1-2
34:  Declare parameter 'argv' as const MISRA2008-7_1_1-2
34:  No value of command line should be trusted: argc SECURITY-35-2
34:  No value of command line should be trusted: argv SECURITY-35-2
34:  Number of blocks of comments per statement in the function 'main' : 0.0 METRICS-41-3
34:  Pass parameter "argv" with const specifier MISRA2008-7_1_2_a-2
34:  The 'main' function is also defined in other translation units MISRA2012-RULE-8_6-2
34:  The 'main' function is also defined in other translation units MISRA2008-3_2_4-2
34:  The 'main' function is declared in more than one file MISRA2008-3_2_3-2
34:  The expression of the 'essentially character' type is returned from function 'main' with the 'essentially signed' type MISRA2012-RULE-10_3_b-2
/libsecseal/build/CMakeFiles/feature_tests.cxx
2:  Global variable 'features' is being used only in a single function 'main' MISRA2008-3_4_1_b-2
2:  Global variable 'features' is being used only in a single function 'main' MISRA2012-RULE-8_9-4
2:  Global variable 'features' is declared in global namespace MISRA2008-7_3_1-2
4:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
4:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
4:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
4:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
4:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
4:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
4:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
6:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
11:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
11:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
11:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
11:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
11:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
13:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
18:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
18:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
18:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
18:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
18:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
20:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
25:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
25:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
25:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
25:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
25:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
27:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
32:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
32:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
32:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
32:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
32:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
32:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
32:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
34:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
39:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
39:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
39:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
39:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
39:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
39:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
39:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
41:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
46:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
46:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
46:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
46:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
46:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
46:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
46:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
46:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
46:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
48:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
53:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
53:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
53:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
53:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
53:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
53:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
53:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
55:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
60:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
60:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
60:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
60:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
60:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
60:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
60:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
60:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
60:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
62:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
67:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
67:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
67:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
67:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
67:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
67:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
67:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
69:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
74:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
74:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
74:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
74:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
74:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
74:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
74:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
74:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
74:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
76:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
81:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
81:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
81:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
81:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
81:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
81:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
81:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
83:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
88:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
88:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
88:  Macro might be not defined: __GNUC_PATCHLEVEL__ MISRA2008-16_0_7_b-2
88:  Macro might be not defined: __GNUC_PATCHLEVEL__ MISRA2012-RULE-20_9_b-2
88:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
88:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
88:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
88:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
88:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
90:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
95:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
95:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
95:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
95:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
95:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
95:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
95:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
95:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
95:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
97:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
102:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
102:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
102:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
102:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
102:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
102:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
102:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
102:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
102:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
104:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
109:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
109:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
109:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
109:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
109:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
109:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
109:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
109:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
109:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
111:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
116:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
116:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
116:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
116:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
116:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
116:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
116:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
118:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
123:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
123:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
123:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
123:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
123:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
123:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
123:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
123:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
123:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
125:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
130:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
130:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
130:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
130:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
130:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
130:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
130:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
132:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
137:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
137:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
137:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
137:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
137:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
137:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
137:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
137:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
137:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
139:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
144:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
144:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
144:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
144:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
144:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
144:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
144:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
144:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
144:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
146:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
151:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
151:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
151:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
151:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
151:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
151:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
151:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
153:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
158:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
158:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
158:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
158:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
158:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
158:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
158:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
158:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
158:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
160:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
165:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
165:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
165:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
165:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
165:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
165:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
165:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
167:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
172:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
172:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
172:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
172:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
172:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
172:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
172:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
172:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
172:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
174:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
179:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
179:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
179:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
179:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
179:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
179:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
179:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
179:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
179:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
181:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
186:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
186:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
186:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
186:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
186:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
186:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
186:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
188:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
193:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
193:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
193:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
193:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
193:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
193:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
193:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
195:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
200:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
200:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
200:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
200:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
200:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
200:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
200:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
200:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
200:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
202:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
207:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
207:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
207:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
207:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
207:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
207:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
207:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
207:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
207:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
209:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
214:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
214:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
214:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
214:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
214:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
214:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
214:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
216:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
221:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
221:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
221:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
221:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
221:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
221:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
221:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
221:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
221:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
223:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
228:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
228:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
228:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
228:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
228:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
228:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
228:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
228:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
228:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
230:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
235:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
235:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
235:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
235:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
235:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
235:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
235:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
235:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
235:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
237:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
242:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
242:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
242:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
242:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
242:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
242:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
242:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
244:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
249:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
249:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
249:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
249:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
249:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
249:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
249:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
249:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
249:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
251:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
256:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
256:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
256:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
256:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
256:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
256:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
256:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
258:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
263:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
263:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
263:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
263:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
263:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
263:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
263:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
263:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
263:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
265:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
270:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
270:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
270:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
270:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
270:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
270:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
270:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
270:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
270:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
272:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
277:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
277:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
277:  Macro might be not defined: __GNUC_PATCHLEVEL__ MISRA2008-16_0_7_b-2
277:  Macro might be not defined: __GNUC_PATCHLEVEL__ MISRA2012-RULE-20_9_b-2
277:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
277:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
277:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
277:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
277:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
279:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
284:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
284:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
284:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
284:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
284:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
284:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
284:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
286:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
291:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
291:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
291:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
291:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
291:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
291:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
291:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
293:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
298:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
298:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
298:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
298:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
298:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
298:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
298:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
298:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
298:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
300:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
305:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
305:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
305:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
305:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
305:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
305:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
305:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
305:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
305:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
307:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
312:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
312:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
312:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
312:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
312:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
312:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
312:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
312:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
312:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
314:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
319:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
319:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
319:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
319:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
319:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
319:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
319:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
319:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
319:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
321:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
326:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
326:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
326:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
326:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
326:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
326:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
326:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
326:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
326:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
328:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
333:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
333:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
333:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
333:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
333:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
333:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
333:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
335:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
340:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
340:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
340:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
340:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
340:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
340:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
340:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
342:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
347:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
347:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
347:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
347:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
347:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
347:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
347:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
347:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
347:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
349:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
354:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
354:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
354:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
354:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
354:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
354:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
354:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
354:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
354:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
356:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
361:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
361:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
361:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
361:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
361:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
361:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
361:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
361:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
361:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
363:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
368:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
368:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
368:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
368:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
368:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
368:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
368:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
368:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
368:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
370:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
375:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
375:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
375:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
375:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
375:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
375:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
375:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
377:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
382:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
382:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
382:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
382:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
382:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
382:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
382:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
384:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
389:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
389:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
389:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
389:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
389:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
389:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
389:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
389:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
389:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
391:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
396:  Macro might be not defined: __GNUC_MINOR__ MISRA2008-16_0_7_b-2
396:  Macro might be not defined: __GNUC_MINOR__ MISRA2012-RULE-20_9_b-2
396:  Macro might be not defined: __GNUC__ MISRA2008-16_0_7_b-2
396:  Macro might be not defined: __GNUC__ MISRA2012-RULE-20_9_b-2
396:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2008-16_0_7_b-2
396:  Macro might be not defined: __GXX_EXPERIMENTAL_CXX0X__ MISRA2012-RULE-20_9_b-2
396:  Macro might be not defined: __cplusplus MISRA2008-16_0_7_b-2
396:  Macro might be not defined: __cplusplus MISRA2012-RULE-20_9_b-2
396:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
398:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
405:  C-style cast to 'void' type is used MISRA2008-5_2_4-2
405:  Declare parameter 'argc' as const MISRA2008-7_1_1-2
405:  Declare parameter 'argv' as const MISRA2008-7_1_1-2
405:  No value of command line should be trusted: argc SECURITY-35-2
405:  No value of command line should be trusted: argv SECURITY-35-2
405:  Pass parameter "argv" with const specifier MISRA2008-7_1_2_a-2
405:  The 'main' function does not contain a catch(...) to catch all unhandled exceptions EXCEPT-06-3
405:  The 'main' function is also defined in other translation units MISRA2012-RULE-8_6-2
405:  The 'main' function is also defined in other translation units MISRA2008-3_2_4-2
405:  The 'main' function is declared in more than one file MISRA2008-3_2_3-2
/libsecseal/libsecseal/include/secseal.h
20:  Global function 'SEC_SEAL_generate_key' is declared in global namespace MISRA2008-7_3_1-2
37:  Global function 'SEC_SEAL_seal_data' is declared in global namespace MISRA2008-7_3_1-2
55:  Global function 'SEC_SEAL_unseal_data' is declared in global namespace MISRA2008-7_3_1-2
61:  Global function 'SEC_SEAL_generate_key_stub' is declared in global namespace MISRA2008-7_3_1-2
64:  Global function 'SEC_SEAL_seal_data_stub' is declared in global namespace MISRA2008-7_3_1-2
68:  Global function 'SEC_SEAL_unseal_data_stub' is declared in global namespace MISRA2008-7_3_1-2
/libsecseal/libsecseal/include/secseal_private.h
33:  Do not use #define to declare constant values: 'PLAIN_DATA_INPUT_MAX' MISRA2008-16_2_1_a-2
33:  Do not use #define to define constant: 'PLAIN_DATA_INPUT_MAX' MISRA2008-16_2_2-2
34:  Do not use #define to declare constant values: 'DATA_BUFF_SIZE_MAX' MISRA2008-16_2_1_a-2
34:  Do not use #define to define constant: 'DATA_BUFF_SIZE_MAX' MISRA2008-16_2_2-2
/libsecseal/libsecseal/include/secseal_stb.h
11:  Global function 'STB_SEC_SEAL_generate_key' is declared in global namespace MISRA2008-7_3_1-2
15:  Global function 'STB_SEC_SEAL_seal_data' is declared in global namespace MISRA2008-7_3_1-2
20:  Global function 'STB_SEC_SEAL_unseal_data' is declared in global namespace MISRA2008-7_3_1-2
/libsecseal/libsecseal/include/secseal_types.h
15:  Type 'SEC_SEAL_error_cb_fn' is declared in global namespace MISRA2008-7_3_1-2
/libsecseal/libsecseal/src/secseal.cpp
3:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
3:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
3:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2008-16_0_7_b-2
3:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2012-RULE-20_9_b-2
3:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
6:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
6:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
6:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2008-16_0_7_b-2
6:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2012-RULE-20_9_b-2
6:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
9:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
10:  Preprocessor directive is not syntactically valid MISRA2008-16_0_8-2
10:  Preprocessor directive is not syntactically valid MISRA2012-RULE-20_13-2
15:  #include statements are not grouped properly. This is the last #include in file. Some statements are in line 10 MISRA2008-16_0_1-2
18:  Do not use #define to declare constant values: 'PUBLIC' MISRA2008-16_2_1_a-2
18:  Do not use #define to define constant: 'PUBLIC' MISRA2008-16_2_2-2
21:  Declare parameter 'key' as const MISRA2008-7_1_1-2
21:  Declare parameter 'size' as const MISRA2008-7_1_1-2
21:  Global function 'SEC_SEAL_generate_key' is declared in global namespace MISRA2008-7_3_1-2
25:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
25:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
25:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2008-16_0_7_b-2
25:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2012-RULE-20_9_b-2
25:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
29:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
29:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
29:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2008-16_0_7_b-2
29:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2012-RULE-20_9_b-2
29:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
33:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
42:  Declare parameter 'data' as const MISRA2008-7_1_1-2
42:  Declare parameter 'key' as const MISRA2008-7_1_1-2
42:  Global function '_validate_seal_args' is declared in global namespace MISRA2008-7_3_1-2
42:  Reserved name '_validate_seal_args' used MISRA2008-17_0_3-2
42:  Reserved name '_validate_seal_args' used MISRA2012-RULE-21_2_a-2
43:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
43:  Declare parameter 'sealed_data_size' as const MISRA2008-7_1_1-2
43:  Parameter 'sealed_data' is not used MISRA2008-0_1_11-2
43:  Parameter 'sealed_data_size' is not used MISRA2008-0_1_11-2
43:  Pass parameter "sealed_data" with const specifier MISRA2008-7_1_2_a-2
43:  Pass parameter "sealed_data_size" with const specifier MISRA2008-7_1_2_a-2
48:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
48:  The operands of a logical '||' in function '_validate_seal_args' should be parenthesized MISRA2008-5_2_1-2
48:  The operands of a logical '||' in function '_validate_seal_args' should be parenthesized MISRA2008-5_2_1-2
55:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
55:  The operands of a logical '||' in function '_validate_seal_args' should be parenthesized MISRA2008-5_2_1-2
55:  The operands of a logical '||' in function '_validate_seal_args' should be parenthesized MISRA2008-5_2_1-2
62:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
77:  Declare parameter 'data' as const MISRA2008-7_1_1-2
77:  Declare parameter 'key' as const MISRA2008-7_1_1-2
77:  Global function 'SEC_SEAL_seal_data' is declared in global namespace MISRA2008-7_3_1-2
78:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
78:  Declare parameter 'sealed_data_size' as const MISRA2008-7_1_1-2
85:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
85:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
85:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2008-16_0_7_b-2
85:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2012-RULE-20_9_b-2
85:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
89:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
89:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
89:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2008-16_0_7_b-2
89:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2012-RULE-20_9_b-2
89:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
93:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
104:  Declare parameter 'key' as const MISRA2008-7_1_1-2
104:  Global function '_validate_unseal_args' is declared in global namespace MISRA2008-7_3_1-2
104:  Reserved name '_validate_unseal_args' used MISRA2008-17_0_3-2
104:  Reserved name '_validate_unseal_args' used MISRA2012-RULE-21_2_a-2
105:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
105:  Declare parameter 'unsealed_data' as const MISRA2008-7_1_1-2
105:  Parameter 'unsealed_data' is not used MISRA2008-0_1_11-2
105:  Pass parameter "unsealed_data" with const specifier MISRA2008-7_1_2_a-2
106:  Declare parameter 'unsealed_data_size' as const MISRA2008-7_1_1-2
106:  Parameter 'unsealed_data_size' is not used MISRA2008-0_1_11-2
106:  Pass parameter "unsealed_data_size" with const specifier MISRA2008-7_1_2_a-2
110:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
110:  The operands of a logical '||' in function '_validate_unseal_args' should be parenthesized MISRA2008-5_2_1-2
110:  The operands of a logical '||' in function '_validate_unseal_args' should be parenthesized MISRA2008-5_2_1-2
117:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
117:  The operands of a logical '||' in function '_validate_unseal_args' should be parenthesized MISRA2008-5_2_1-2
117:  The operands of a logical '||' in function '_validate_unseal_args' should be parenthesized MISRA2008-5_2_1-2
125:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
140:  Declare parameter 'key' as const MISRA2008-7_1_1-2
140:  Global function 'SEC_SEAL_unseal_data' is declared in global namespace MISRA2008-7_3_1-2
141:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
141:  Declare parameter 'unsealed_data' as const MISRA2008-7_1_1-2
142:  Declare parameter 'unsealed_data_size' as const MISRA2008-7_1_1-2
148:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
148:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
148:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2008-16_0_7_b-2
148:  Macro might be not defined: LIBSECSEAL_SWI_TZ MISRA2012-RULE-20_9_b-2
148:  Usage of preprocessor directive: #if is not allowed MISRA2008-16_2_1_c-2
152:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2008-16_0_7_b-2
152:  Macro might be not defined: LIBSECSEAL_BACKEND MISRA2012-RULE-20_9_b-2
152:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2008-16_0_7_b-2
152:  Macro might be not defined: LIBSECSEAL_QTL_TZ MISRA2012-RULE-20_9_b-2
152:  Usage of preprocessor directive: #elif is not allowed MISRA2008-16_2_1_c-2
156:  Usage of preprocessor directive: #else is not allowed MISRA2008-16_2_1_c-2
167:  Declare parameter 'key' as const MISRA2008-7_1_1-2
167:  Declare parameter 'size' as const MISRA2008-7_1_1-2
167:  Global function 'SEC_SEAL_generate_key_stub' is declared in global namespace MISRA2008-7_3_1-2
172:  Declare parameter 'data' as const MISRA2008-7_1_1-2
172:  Declare parameter 'key' as const MISRA2008-7_1_1-2
172:  Global function 'SEC_SEAL_seal_data_stub' is declared in global namespace MISRA2008-7_3_1-2
173:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
173:  Declare parameter 'sealed_data_size' as const MISRA2008-7_1_1-2
185:  Declare parameter 'key' as const MISRA2008-7_1_1-2
185:  Global function 'SEC_SEAL_unseal_data_stub' is declared in global namespace MISRA2008-7_3_1-2
186:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
186:  Declare parameter 'unsealed_data' as const MISRA2008-7_1_1-2
187:  Declare parameter 'unsealed_data_size' as const MISRA2008-7_1_1-2
/libsecseal/libsecseal/src/secseal_stb.cpp
8:  Instead of C library header '<stdlib.h>' the corresponding C++ library header should be used MISRA2008-18_0_1-2
11:  Do not use #define to declare constant values: 'KM_MAX_KEY_SIZE' MISRA2008-16_2_1_a-2
11:  Do not use #define to define constant: 'KM_MAX_KEY_SIZE' MISRA2008-16_2_2-2
13:  Declare parameter 'key' as const MISRA2008-7_1_1-2
13:  Declare parameter 'size' as const MISRA2008-7_1_1-2
13:  Global function 'STB_SEC_SEAL_generate_key' is declared in global namespace MISRA2008-7_3_1-2
18:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
18:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2
18:  Implicit conversion between signed and unsigned type shall not be used for constant '8' MISRA2008-5_0_4_a-2
28:  Implicit conversion between signed and unsigned type shall not be used MISRA2008-5_0_4_a-2
29:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
29:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2
37:  Declare parameter 'data' as const MISRA2008-7_1_1-2
37:  Declare parameter 'key' as const MISRA2008-7_1_1-2
37:  Global function 'STB_SEC_SEAL_seal_data' is declared in global namespace MISRA2008-7_3_1-2
37:  Parameter 'key' is not used MISRA2008-0_1_11-2
37:  Parameter 'key_size' is not used MISRA2008-0_1_11-2
38:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
38:  Declare parameter 'sealed_data_size' as const MISRA2008-7_1_1-2
44:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
44:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2
55:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
55:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2
63:  Declare parameter 'key' as const MISRA2008-7_1_1-2
63:  Global function 'STB_SEC_SEAL_unseal_data' is declared in global namespace MISRA2008-7_3_1-2
63:  Parameter 'key' is not used MISRA2008-0_1_11-2
63:  Parameter 'key_size' is not used MISRA2008-0_1_11-2
64:  Declare parameter 'sealed_data' as const MISRA2008-7_1_1-2
64:  Declare parameter 'unsealed_data' as const MISRA2008-7_1_1-2
65:  Declare parameter 'unsealed_data_size' as const MISRA2008-7_1_1-2
70:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
70:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2
81:  C-style cast to 'uint8_t *' type is used MISRA2008-5_2_4-2
81:  Do not convert pointer to void type to an object with pointer type 'uint8_t *' MISRA2008-5_2_8-2

tbm20h-user  Suppressions :  9 Back to Top    
/libsecseal/libsecseal/src/secseal_stb.cpp
18: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-DIR-4_12
18: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2008-18_4_1
18: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-RULE-21_3
44: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-DIR-4_12
44: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2008-18_4_1
44: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-RULE-21_3
70: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-DIR-4_12
70: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2008-18_4_1
70: 'calloc' function should not be used Use of dynamic memory is fundamental and it cannot be avoided MISRA2012-RULE-21_3

Checked Files (Details)
Expand All   Collapse All   Back to Top    
  •  + [9/820]  Suppressed / Total
    •  + [9/820]  libsecseal
      •  + [0/578]  build/CMakeFiles
      •  + [0/14]  libsecseal/include
      •  + [9/145]  libsecseal/src
      •  + [0/83]  Modules

Active Rules
Back to Top    
 [5/98]  Flow Analysis (BD) 
     [2/57]  Possible Bugs (BD-PB) 
        Avoid use before initialization (BD-PB-NOTINIT-1) 
        Avoid division by zero (BD-PB-ZERO-1) 
     [3/13]  Security (BD-SECURITY) 
        Protect against command injection (BD-SECURITY-TDCMD-1) 
        Protect against file name injection (BD-SECURITY-TDFNAMES-1) 
        Protect against SQL injection (BD-SECURITY-TDSQL-1) 
 [2/20]  Exceptions (EXCEPT) 
    There should be at least one exception handler to catch all otherwise unhandled exceptions (EXCEPT-06-3) 
    Function called in global or namespace scope shall not throw unhandled exceptions (EXCEPT-18-3) 
 [6/43]  Metrics (METRICS) 
    Follow the Cyclomatic Complexity limit of 10 (METRICS-18-3) 
    A function should not be called from more than 5 different functions (METRICS-36-3) 
    A function should not call more than 7 different functions (METRICS-37-3) 
    The value of VOCF metric for a function should not be higher than 4 (METRICS-39-3) 
    Statements within function should not be nested deeper than 4 levels (METRICS-40-3) 
    The number of blocks of comments before and inside function to the number of statements in function should be > 0.2 (METRICS-41-3) 
 [2/212]  MISRA C 2004 (MISRA2004) 
    Don't write code that depends on the order of evaluation of function arguments (MISRA2004-12_2_b-1) 
    The goto statement shall not be used (MISRA2004-14_4-3) 
 [272/324]  UNKNOWN (MISRA2008) 
    Every defined function with internal linkage shall be used (MISRA2008-0_1_10-2) 
    There shall be no unused parameters (named or unnamed) in nonvirtual functions (MISRA2008-0_1_11-2) 
    There shall be no unused parameters (named or unnamed) in the set of parameters for a virtual function and all the functions that override it (MISRA2008-0_1_12-2) 
    A project shall not contain unreachable code in 'else' block (MISRA2008-0_1_1_a-2) 
    A project shall not contain unreachable code after 'return', 'break', 'continue', and 'goto' statements (MISRA2008-0_1_1_b-2) 
    A project shall not contain unreachable code in 'if/else/while/for' block (MISRA2008-0_1_1_c-2) 
    A project shall not contain unreachable code in switch statement (MISRA2008-0_1_1_d-2) 
    A project shall not contain unreachable code in 'for' loop (MISRA2008-0_1_1_e-2) 
    A project shall not contain unreachable code after 'if' or 'switch' statement outside 'for/while/catch' block (MISRA2008-0_1_1_f-2) 
    A project shall not contain unreachable code after 'if' or 'switch' statement inside 'while/for/catch' block (MISRA2008-0_1_1_g-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_a-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_b-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_c-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_d-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_e-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_f-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_g-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_h-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_i-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_j-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_k-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_l-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_m-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_n-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_o-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_p-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_q-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_r-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_rz-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_s-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_sz-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_t-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_u-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_v-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_w-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_x-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_y-2) 
    A project shall not contain infeasible paths (MISRA2008-0_1_2_z-2) 
    A project shall not contain unused variables (MISRA2008-0_1_3_a-2) 
    A project shall not contain unused variables (MISRA2008-0_1_3_b-2) 
    A project shall not contain non-volatile POD variables having only one use (MISRA2008-0_1_4-2) 
    A project shall not contain unused type declarations (MISRA2008-0_1_5-2) 
    Avoid unused values (MISRA2008-0_1_6-2) 
    The value returned by a function having a non-void return type that is not an overloaded operator shall always be used (MISRA2008-0_1_7-2) 
    All functions with void return type shall have external side effect(s) (MISRA2008-0_1_8-2) 
    All functions with void return type shall have external side effect(s) (MISRA2008-0_1_8_b-2) 
    All non-null statements shall either have at least one side-effect however executed or cause control flow to change (MISRA2008-0_1_9-2) 
    An object shall not be assigned to an overlapping object (MISRA2008-0_2_1_a-2) 
    An object shall not be assigned to an overlapping object (MISRA2008-0_2_1_b-2) 
    If a function generates error information, then that error information shall be tested (MISRA2008-0_3_2-2) 
    A base class shall only be declared virtual if it is used in a diamond hierarchy (MISRA2008-10_1_2-2) 
    An accessible base class shall not be both virtual and non-virtual in the same hierarchy (MISRA2008-10_1_3-2) 
    There shall be no more than one definition of each virtual function on each path through the inheritance hierarchy (MISRA2008-10_3_1-2) 
    Each overriding virtual function shall be declared with the virtual keyword (MISRA2008-10_3_2-2) 
    A virtual function shall only be overridden by a pure virtual function if it is itself declared as pure virtual (MISRA2008-10_3_3-2) 
    Member data in non-POD class types shall be private (MISRA2008-11_0_1-2) 
    An object's dynamic type shall not be used from the body of its constructor or destructor (MISRA2008-12_1_1-2) 
    All constructors that are callable with a single argument of fundamental type shall be declared explicit (MISRA2008-12_1_3-2) 
    A copy constructor shall only initialize its base classes and the nonstatic members of the class of which it is a member (MISRA2008-12_8_1-2) 
    The copy assignment operator shall be declared protected or private in an abstract class (MISRA2008-12_8_2-2) 
    Do not declare non-member generic functions in associated namespaces (MISRA2008-14_5_1-2) 
    A copy constructor shall be declared when there is a template constructor with a single parameter that is a generic parameter (MISRA2008-14_5_2-2) 
    A copy assignment operator shall be declared when there is a template assignment operator with a parameter that is a generic parameter (MISRA2008-14_5_3-2) 
    In a class template with a dependent base, any name that may be found in that dependent base shall be referred to using a qualified-id or this-> (MISRA2008-14_6_1-2) 
    The function shall resolve to a function declared previously in the translation unit (MISRA2008-14_6_2-2) 
    All class templates, function templates, class template member functions and class template static members shall be instantiated at least one. (MISRA2008-14_7_1-2) 
    All partial and explicit specializations for a template shall be declared in the same file as the declaration of their primary template (MISRA2008-14_7_3-2) 
    Overloaded function templates shall not be explicitly specialized (MISRA2008-14_8_1-2) 
    Control shall not be transferred into a try or catch block using a goto or a switch statement (MISRA2008-15_0_3-2) 
    The assignment-expression of a throw statement shall not itself cause an exception to be thrown (MISRA2008-15_1_1-2) 
    NULL shall not be thrown explicitly (MISRA2008-15_1_2-2) 
    An empty throw (throw;) shall only be used in the compound statement of a catch handler (MISRA2008-15_1_3-2) 
    Exceptions shall be raised only after start-up and before termination of the program (MISRA2008-15_3_1-2) 
    Handlers of a function-try-block implementation of a class constructor or destructor shall not reference non-static members from this class or its bases (MISRA2008-15_3_3-2) 
    Each exception explicitly thrown in the code shall have a handler of a compatible type in all call paths that could lead to that point (MISRA2008-15_3_4_a-2) 
    Each exception explicitly thrown in the code shall have a handler of a compatible type in all call paths that could lead to that point (MISRA2008-15_3_4_b-2) 
    A class type exception shall always be caught by reference (MISRA2008-15_3_5-2) 
    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 (MISRA2008-15_3_6-2) 
    If a function is declared with an exception-specification, then all declarations of the same function (in other translation units) shall be declared with the same set of type-ids (MISRA2008-15_4_1-2) 
    A class destructor shall not exit with an exception (MISRA2008-15_5_1-2) 
    Where a function's declaration includes an exception-specification, the function shall only be capable of throwing exceptions of the indicated type(s) (MISRA2008-15_5_2-2) 
    The execution of a function registered with 'std::atexit()' or 'std::at_quick_exit()' should not exit via an exception (MISRA2008-15_5_3-2) 
    #include directives in a file shall only be preceded by other preprocessor directives or comments (MISRA2008-16_0_1-2) 
    Macros shall only be #define'd or #undef'd in the global namespace (MISRA2008-16_0_2-2) 
    #undef shall not be used (MISRA2008-16_0_3-2) 
    Function-like macros shall not be defined (MISRA2008-16_0_4-2) 
    Arguments to a function-like macro shall not contain tokens that look like preprocessing directives (MISRA2008-16_0_5-2) 
    In the definition of a function-like macro, each instance of a parameter shall be enclosed in parentheses, unless it is used as the operand of # or ## (MISRA2008-16_0_6-2) 
    Do not use in preprocessor directives #if and #elif macros not defined in translation unit (MISRA2008-16_0_7_b-2) 
    If the # token appears as the first token on a line, then it shall be immediately followed by a preprocessing token (MISRA2008-16_0_8-2) 
    The defined preprocessor operator shall only be used in one of the two standard forms (MISRA2008-16_1_1-2) 
    All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if or #ifdef directive to which they are related (MISRA2008-16_1_2-2) 
    Macros shall not be used (MISRA2008-16_2_1_a-2) 
    The #ifndef and #endif pre-processor directives will only be used to prevent multiple inclusions of the same header file (MISRA2008-16_2_1_b-2) 
    The following pre-processor directives shall not be used: #if, #elif, #else, #ifdef, #undef, #pragma (MISRA2008-16_2_1_c-2) 
    C++ macros shall only be used for: include guards, type qualifiers, or storage class specifiers (MISRA2008-16_2_2-2) 
    Include guards shall be provided (MISRA2008-16_2_3-2) 
    The ', ", /* or // characters shall not occur in a header file name (MISRA2008-16_2_4-2) 
    The #include directive shall be followed by either a <filename> or "filename" sequence (MISRA2008-16_2_6-2) 
    There shall be at most one occurrence of the # or ## operators in a single macro definition (MISRA2008-16_3_1-2) 
    Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_a-2) 
    Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_b-2) 
    Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_c-2) 
    Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_d-2) 
    Reserved identifiers, macros and functions in the standard library shall not be defined, redefined or undefined (MISRA2008-17_0_1_e-2) 
    The names of standard library macros and objects shall not be reused (MISRA2008-17_0_2-2) 
    The names of standard library functions shall not be overridden (MISRA2008-17_0_3-2) 
    The setjmp macro and the longjmp function shall not be used (MISRA2008-17_0_5-2) 
    The standard header file <setjmp.h> shall not be used (MISRA2008-17_0_5_b-2) 
    The C library shall not be used (MISRA2008-18_0_1-2) 
    The library functions atof, atoi and atol from library <cstdlib> shall not be used (MISRA2008-18_0_2-2) 
    The library functions abort, exit, getenv and system from library <cstdlib> shall not be used (MISRA2008-18_0_3-2) 
    The time handling functions of library <ctime> shall not be used (MISRA2008-18_0_4-2) 
    The unbounded functions of library <cstring> shall not be used (MISRA2008-18_0_5-2) 
    The macro offsetof shall not be used (MISRA2008-18_2_1-2) 
    Dynamic heap memory allocation shall not be used (MISRA2008-18_4_1-2) 
    The standard header file <csignal> shall not be used (MISRA2008-18_7_1-2) 
    The signal handling facilities of <csignal> shall not be used (MISRA2008-18_7_1_b-2) 
    The error indicator errno shall not be used (MISRA2008-19_3_1-2) 
    The stream input/output library <cstdio> shall not be used (MISRA2008-27_0_1-2) 
    Different identifiers shall be typographically unambiguous (MISRA2008-2_10_1-2) 
    Identifiers declared in an inner scope shall not hide an identifier declared in an outer scope (MISRA2008-2_10_2_a-2) 
    Identifiers declared in an inner scope shall not hide an identifier declared in an outer scope (MISRA2008-2_10_2_b-2) 
    A typedef name (including qualification, if any) shall be a unique identifier (MISRA2008-2_10_3-2) 
    If an identifier refers to a type, it shall not also refer to an object or a function in the same scope (MISRA2008-2_10_6_a-2) 
    If an identifier refers to a type, it shall not also refer to an object or a function in the same scope (MISRA2008-2_10_6_b-2) 
    If an identifier refers to a type, it shall not also refer to an object or a function in the same scope (MISRA2008-2_10_6_c-2) 
    The name of typedef should not be the same as the name of its basic type (MISRA2008-2_10_6_d-2) 
    Only those escape sequences that are defined in ISO/IEC 14882:2003 shall be used (MISRA2008-2_13_1-2) 
    Octal constants (other than zero) shall not be used (MISRA2008-2_13_2_a-2) 
    Octal escape sequences (other than "\0") shall not be used (MISRA2008-2_13_2_b-2) 
    A "U" suffix shall be applied to all octal or hexadecimal integer literals of unsigned type (MISRA2008-2_13_3-2) 
    Literal suffixes shall be upper case (MISRA2008-2_13_4-2) 
    Narrow and wide string literals shall not be concatenated (MISRA2008-2_13_5-2) 
    Trigraphs shall not be used (MISRA2008-2_3_1-2) 
    The character sequence /* shall not be used within a C-style comment (MISRA2008-2_7_1-2) 
    Sections of code shall not be "commented out" using C-style comments (MISRA2008-2_7_2-2) 
    It shall be possible to include any header file in multiple translation units without violating the One Definition Rule (MISRA2008-3_1_1-2) 
    Functions shall not be declared at block scope (MISRA2008-3_1_2-2) 
    When an array is declared, its size shall either be stated explicitly or defined implicitly by initialization (MISRA2008-3_1_3-2) 
    All declarations of an object or function shall have compatible types (MISRA2008-3_2_1-2) 
    The One Definition Rule shall not be violated (MISRA2008-3_2_2-2) 
    A type, object or function that is used in multiple translation units shall be declared in one and only one file (MISRA2008-3_2_3-2) 
    An identifier with external linkage shall have exactly one external definition (MISRA2008-3_2_4-2) 
    Objects or functions with external linkage shall be declared in a header file (MISRA2008-3_3_1-2) 
    If a function has internal linkage then all re-declarations shall include the static storage class specifier (MISRA2008-3_3_2-2) 
    An identifier declared to be an object or type shall be defined in a block that minimizes its visibility (MISRA2008-3_4_1_a-2) 
    An identifier declared to be an object or type shall be defined in a block that minimizes its visibility (MISRA2008-3_4_1_b-2) 
    The types used for an object, a function return type, or a function parameter shall be token-for-token identical in all declarations and re-declarations (MISRA2008-3_9_1-2) 
    The underlying bit representations of floating-point values shall not be used (MISRA2008-3_9_3-2) 
    NULL shall not be used as an integer value (MISRA2008-4_10_1-2) 
    Literal zero (0) shall not be used as the null-pointer-constant (MISRA2008-4_10_2-2) 
    Expressions with type bool shall not be used as operands to built-in operators other than the assignment operator =, the logical operators &&, ||, !, the equality operators == and !=, the unary & operator, and the conditional operator (MISRA2008-4_5_1-2) 
    Expressions with type enum shall not be used as operands to built-in operators other than [ ], =, ==, !=, <, <=, >, >=, and the unary & operator (MISRA2008-4_5_2-2) 
    Expressions with type (plain) char and wchar_t shall not be used as operands to built-in operators other than the assignment operator =, the equality operators == and !=, and the unary & operator (MISRA2008-4_5_3-2) 
    If the bitwise operators ~ and << are applied to an operand with an underlying type of unsigned char or unsigned short, the result shall be immediately cast to the underlying type of the operand (MISRA2008-5_0_10-2) 
    The plain char type shall only be used for the storage and use of character values (MISRA2008-5_0_11-2) 
    signed char and unsigned char type shall only be used for the storage and use of numeric values (MISRA2008-5_0_12-2) 
    The condition of an if-statement and the condition of an iteration-statement shall have type bool (MISRA2008-5_0_13-2) 
    The first operand of a conditional-operator shall have type bool (MISRA2008-5_0_14-2) 
    Array indexing shall be the only form of pointer arithmetic (MISRA2008-5_0_15-2) 
    Avoid accessing arrays out of bounds (MISRA2008-5_0_16_a-2) 
    A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array (MISRA2008-5_0_16_b-2) 
    Subtraction between pointers shall only be applied to pointers that address elements of the same array (MISRA2008-5_0_17-2) 
    >, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array (MISRA2008-5_0_18-2) 
    The declaration of objects shall contain no more than two levels of pointer indirection (MISRA2008-5_0_19-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_a-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_b-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_c-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_d-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_e-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_f-2) 
    The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2008-5_0_1_g-2) 
    Non-constant operands to a binary bitwise operator shall have the same underlying type (MISRA2008-5_0_20-2) 
    Bitwise operators shall only be applied to operands of unsigned underlying type (MISRA2008-5_0_21-2) 
    A cvalue expression shall not be implicitly converted to a different underlying type (MISRA2008-5_0_3_a-2) 
    A cvalue expression shall not be implicitly converted to a different underlying type (MISRA2008-5_0_3_b-2) 
    A cvalue expression shall not be implicitly converted to a different underlying type (MISRA2008-5_0_3_c-2) 
    An implicit integral conversion shall not change the signedness of the underlying type (MISRA2008-5_0_4_a-2) 
    An implicit integral conversion shall not change the signedness of the underlying type (MISRA2008-5_0_4_b-2) 
    There shall be no implicit floating-integral conversions (MISRA2008-5_0_5_a-2) 
    There shall be no implicit floating-integral conversions (MISRA2008-5_0_5_b-2) 
    An implicit integral or floating-point conversion shall not reduce the size of the underlying type (MISRA2008-5_0_6_a-2) 
    An implicit integral or floating-point conversion shall not reduce the size of the underlying type (MISRA2008-5_0_6_b-2) 
    An implicit integral or floating-point conversion shall not reduce the size of the underlying type (MISRA2008-5_0_6_c-2) 
    There shall be no explicit floating-integral conversions of a cvalue expression (MISRA2008-5_0_7_a-2) 
    There shall be no explicit floating-integral conversions of a cvalue expression (MISRA2008-5_0_7_b-2) 
    An explicit integral or floating-point conversion shall not increase the size of the underlying type of a cvalue expression (MISRA2008-5_0_8-2) 
    An explicit integral conversion shall not change the signedness of the underlying type of a cvalue expression (MISRA2008-5_0_9-2) 
    The right hand operand of a logical && or || operator shall not contain side effects (MISRA2008-5_14_1-2) 
    The overloaded binary operator should be implemented in terms of its corresponding compound assignment operator (MISRA2008-5_17_1-2) 
    The comma operator shall not be used (MISRA2008-5_18_1-2) 
    Each operand of a logical && or || shall be a postfix-expression (MISRA2008-5_2_1-2) 
    The && operator and the || operator shall not be overloaded (MISRA2008-5_2_11-2) 
    The comma "," operator shall not be overloaded (MISRA2008-5_2_11_b-2) 
    An identifier with array type passed as a function argument shall not decay to a pointer (MISRA2008-5_2_12-2) 
    A pointer to a virtual base class shall only be cast to a pointer to a derived class by means of dynamic_cast (MISRA2008-5_2_2-2) 
    C-style casts (other than void casts) and functional notation casts (other than explicit constructor calls) shall not be used (MISRA2008-5_2_4-2) 
    A cast shall not remove any const or volatile qualification from the type of a pointer or reference (MISRA2008-5_2_5-2) 
    A cast shall not convert a pointer to a function to any other pointer type, including a pointer to function type (MISRA2008-5_2_6-2) 
    An object with pointer type shall not be converted to an unrelated pointer type, either directly or indirectly (MISRA2008-5_2_7-2) 
    An object with integer type or pointer to void type shall not be converted to an object with pointer type (MISRA2008-5_2_8-2) 
    Each operand of the ! operator, the logical && or the logical || operators shall have type bool (MISRA2008-5_3_1-2) 
    The unary minus operator shall not be applied to an expression whose underlying type is unsigned (MISRA2008-5_3_2-2) 
    The unary & operator shall not be overloaded (MISRA2008-5_3_3-2) 
    Evaluation of the operand to the sizeof operator shall not contain side effects (MISRA2008-5_3_4-2) 
    Evaluation of the operand to the sizeof operator shall not contain side effects (MISRA2008-5_3_4_b-2) 
    Evaluation of the operand to the sizeof operator shall not contain side effects (MISRA2008-5_3_4_c-2) 
    The right hand operand of a shift operator shall lie between zero and one less than the width in bits of the underlying type of the left hand operand (MISRA2008-5_8_1-2) 
    Assignment operators shall not be used in sub-expressions (MISRA2008-6_2_1-2) 
    Floating-point expressions shall not be directly or indirectly tested for equality or inequality (MISRA2008-6_2_2-2) 
    Before preprocessing, a null statement shall only occur on a line by itself; it may be followed by a comment, provided that the first character following the null statement is a white-space character (MISRA2008-6_2_3-2) 
    The statement forming the body of a switch, while, do while or for statement shall be a compound statement (MISRA2008-6_3_1-2) 
    An if ( condition ) construct shall be followed by a compound statement. The else keyword shall be followed by either a compound statement, or another if statement (MISRA2008-6_4_1-2) 
    All if ... else if constructs shall be terminated with an else clause (MISRA2008-6_4_2-2) 
    A switch statement shall be a well-formed switch statement (MISRA2008-6_4_3_a-2) 
    A switch statement shall be a well-formed switch statement (MISRA2008-6_4_3_b-2) 
    A switch statement shall be a well-formed switch statement (MISRA2008-6_4_3_c-2) 
    A switch statement shall be a well-formed switch statement (MISRA2008-6_4_3_d-2) 
    A switch statement shall be a well-formed switch statement (MISRA2008-6_4_3_e-2) 
    A switch-label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (MISRA2008-6_4_4-2) 
    An unconditional throw or break statement shall terminate every non-empty switch-clause (MISRA2008-6_4_5-2) 
    The final clause of a switch statement shall be the default-clause (MISRA2008-6_4_6-2) 
    The condition of a switch statement shall not have bool type (MISRA2008-6_4_7-2) 
    Every switch statement shall have at least one case-clause (MISRA2008-6_4_8-2) 
    A for loop shall contain a single loop-counter which shall not have floating type (MISRA2008-6_5_1-2) 
    If loop-counter is not modified by -- or ++, then, within condition, the loop-counter shall only be used as an operand to <=, <, > or >= (MISRA2008-6_5_2-2) 
    The loop-counter shall not be modified within condition or statement (MISRA2008-6_5_3-2) 
    The loop-counter shall be modified by one of: --, ++, -=n, or +=n; where n remains constant for the duration of the loop (MISRA2008-6_5_4-2) 
    A loop-control-variable other than the loop-counter shall not be modified within condition or expression (MISRA2008-6_5_5-2) 
    A loop-control-variable other than the loop-counter which is modified in statement within a body of the loop shall have type bool (MISRA2008-6_5_6-2) 
    Any label referenced by a goto statement shall be declared in the same block, or in a block enclosing the goto statement (MISRA2008-6_6_1-2) 
    The goto statement shall jump to a label declared later in the same function body (MISRA2008-6_6_2-2) 
    The continue statement shall only be used within a well-formed for loop (MISRA2008-6_6_3-2) 
    For any iteration statement there shall be no more than one break or goto statement used for loop termination (MISRA2008-6_6_4-2) 
    A function shall have a single point of exit at the end of the function (MISRA2008-6_6_5-2) 
    A variable which is not modified shall be const qualified (MISRA2008-7_1_1-2) 
    A pointer parameter in a function shall be declared as pointer to const if the corresponding object is not modified (MISRA2008-7_1_2_a-2) 
    A reference parameter in a function shall be declared as reference to const if the corresponding object is not modified (MISRA2008-7_1_2_b-2) 
    Declare a type of parameter as typedef to pointer to const if the pointer is not used to modify the addressed object (MISRA2008-7_1_2_c-2) 
    An expression with enum underlying type shall only have values corresponding to the enumerators of the enumeration (MISRA2008-7_2_1-2) 
    The global namespace shall only contain main, namespace declarations and extern "C" declarations (MISRA2008-7_3_1-2) 
    The identifier main shall not be used for a function other than the global function main (MISRA2008-7_3_2-2) 
    There shall be no unnamed namespaces in header files (MISRA2008-7_3_3-2) 
    using-directives shall not be used (MISRA2008-7_3_4-2) 
    Multiple declarations for an identifier in the same namespace shall not straddle a using-declaration for that identifier (MISRA2008-7_3_5-2) 
    using-directives and using-declarations (excluding class scope or function scope using-declarations) shall not be used in header files (MISRA2008-7_3_6-2) 
    Assembler instructions shall only be introduced using the asm declaration (MISRA2008-7_4_2-2) 
    Assembly language shall be encapsulated and isolated (MISRA2008-7_4_3-2) 
    A function shall not return a reference or a pointer to an automatic variable (including parameters), defined within the function (MISRA2008-7_5_1-2) 
    The address of an object with automatic storage shall not be assigned to another object that may persist after the first object has ceased to exist (MISRA2008-7_5_2_a-2) 
    The address of an object with automatic storage shall not be assigned to another object that may persist after the first object has ceased to exist (MISRA2008-7_5_2_b-2) 
    A function shall not return a reference or a pointer to a parameter that is passed by reference or const reference (MISRA2008-7_5_3-2) 
    An init-declarator-list or a member-declarator-list shall consist of a single init-declarator or member-declarator respectively (MISRA2008-8_0_1-2) 
    Parameters in an overriding virtual function shall either use the same default arguments as the function they override, or else shall not specify any default arguments (MISRA2008-8_3_1-2) 
    Functions shall not be defined using the ellipsis notation (MISRA2008-8_4_1-2) 
    The identifiers used for the parameters in a re-declaration of a function shall be identical to those in the declaration (MISRA2008-8_4_2-2) 
    All exit paths from a function with non-void return type shall have an explicit return statement with an expression (MISRA2008-8_4_3-2) 
    A function identifier shall either be used to call the function or it shall be preceded by '&' (MISRA2008-8_4_4-2) 
    All variables shall have a defined value before they are used (MISRA2008-8_5_1-2) 
    Braces shall be used to indicate and match the structure in the non-zero initialization of arrays and structures (MISRA2008-8_5_2-2) 
    Arrays shall not be partially initialized (MISRA2008-8_5_2_b-2) 
    Structures shall not be partially initialized (MISRA2008-8_5_2_c-2) 
    In an enumerator list, the = construct shall not be used to explicitly initialize members other than the first, unless all items are explicitly initialized (MISRA2008-8_5_3-2) 
    const member functions shall not return non-const pointers or references to class-data (MISRA2008-9_3_1-2) 
    Protected member functions shall not return non-const handles to class-data (MISRA2008-9_3_2_a-2) 
    Public member functions shall not return non-const handles to class-data (MISRA2008-9_3_2_b-2) 
    If a member function can be made static then it shall be made static, otherwise if it can be made const then it shall be made const (MISRA2008-9_3_3-2) 
    Unions shall not be used (MISRA2008-9_5_1-2) 
    Bit-fields shall be either bool type or an explicitly unsigned or signed integral type (MISRA2008-9_6_2-2) 
    Bit-fields shall not have enum type (MISRA2008-9_6_3-2) 
    Named bit-fields with signed integer type shall have a length of more than one bit (MISRA2008-9_6_4-2) 
 [281/328]  MISRA C 2012 (Legacy) (MISRA2012) 
     [241/286]  MISRA C 2012 Rules (MISRA2012-RULE) 
        The 'sizeof' operator shall not have an operand which is a function parameter declared as "array of type" (MISRA2012-RULE-12_5-1) 
        The operand of the sizeof operator shall not contain any expression which has potential side effects (MISRA2012-RULE-13_6_a-1) 
        The operand of the sizeof operator shall not contain any expression which has potential side effects (MISRA2012-RULE-13_6_b-1) 
        The operand of the sizeof operator shall not contain any expression which has potential side effects (MISRA2012-RULE-13_6_c-1) 
        A function shall not be declared implicitly (MISRA2012-RULE-17_3-1) 
        All exit paths from a function with non-void return type shall have an explicit return statement with an expression (MISRA2012-RULE-17_4-1) 
        The declaration of an array parameter shall not contain the 'static' keyword between the [ ] (MISRA2012-RULE-17_6-1) 
        An object shall not be assigned or copied to an overlapping object (MISRA2012-RULE-19_1_a-1) 
        An object shall not be assigned or copied to an overlapping object (MISRA2012-RULE-19_1_b-1) 
        Any value passed to a function in <ctype.h> shall be representable as an 'unsigned char' or be the value 'EOF' (MISRA2012-RULE-21_13-1) 
        Avoid overflow due to reading a not zero terminated string (MISRA2012-RULE-21_17_a-1) 
        Avoid overflow when writing to a buffer (MISRA2012-RULE-21_17_b-1) 
        The 'size_t' argument passed to any function in <string.h> shall have an appropriate value (MISRA2012-RULE-21_18-1) 
        The pointers returned by the Standard Library functions 'localeconv', 'getenv', 'setlocale' or, 'strerror' shall only be used as if they have pointer to const-qualified type (MISRA2012-RULE-21_19_a-1) 
        Strings pointed by members of the structure 'lconv' should not be modified (MISRA2012-RULE-21_19_b-1) 
        Pointers returned by certain Standard Library functions should not be used following a subsequent call to the same or related function (MISRA2012-RULE-21_20-1) 
        Do not use resources that have been freed (MISRA2012-RULE-22_2_a-1) 
        Do not free resources using invalid pointers (MISRA2012-RULE-22_2_b-1) 
        Avoid writing to a stream which has been opened as read only (MISRA2012-RULE-22_4-1) 
        A pointer to a FILE object shall not be dereferenced (MISRA2012-RULE-22_5_a-1) 
        A pointer to a FILE object shall not be dereferenced by a library function (MISRA2012-RULE-22_5_b-1) 
        The value of a pointer to a FILE shall not be used after the associated stream has been closed (MISRA2012-RULE-22_6-1) 
        An expression of essentially Boolean type should always be used where an operand is interpreted as a Boolean value (MISRA2012-RULE-10_1_a-2) 
        An operand of essentially Boolean type should not be used where an operand is interpreted as a numeric value (MISRA2012-RULE-10_1_b-2) 
        An operand of essentially character type should not be used where an operand is interpreted as a numeric value (MISRA2012-RULE-10_1_c-2) 
        An operand of essentially enum type should not be used in an arithmetic operation (MISRA2012-RULE-10_1_d-2) 
        Shift and bitwise operations should not be performed on operands of essentially signed or enum type (MISRA2012-RULE-10_1_e-2) 
        An operand of essentially signed or enum type should not be used as right hand side operand to the bitwise shifting operator (MISRA2012-RULE-10_1_f-2) 
        An operand of essentially unsigned type should not be used as the operand to the unary minus operator (MISRA2012-RULE-10_1_g-2) 
        Expressions of essentially character type shall not be used inappropriately in addition and subtraction operations (MISRA2012-RULE-10_2-2) 
        The value of an expression shall not be assigned to an object with a narrower essential type (MISRA2012-RULE-10_3_a-2) 
        The value of an expression shall not be assigned to an object of a different essential type category (MISRA2012-RULE-10_3_b-2) 
        Both operands of an operator in which the usual arithmetic conversions are performed shall have the same essential type category (MISRA2012-RULE-10_4_a-2) 
        The second and third operands of the ternary operator shall have the same essential type category (MISRA2012-RULE-10_4_b-2) 
        The value of a composite expression shall not be assigned to an object with wider essential type (MISRA2012-RULE-10_6-2) 
        If a composite expression is used as one operand of an operator in which the usual arithmetic conversions are performed then the other operand shall not have wider essential type (MISRA2012-RULE-10_7_a-2) 
        If a composite expression is used as one (second or third) operand of a conditional operator then the other operand shall not have wider essential type (MISRA2012-RULE-10_7_b-2) 
        The value of a composite expression shall not be cast to a different essential type category or a wider essential type (MISRA2012-RULE-10_8-2) 
        Conversions shall not be performed between a pointer to a function and any other type (MISRA2012-RULE-11_1_a-2) 
        Conversions shall not be performed between a pointer to a function and any other type (MISRA2012-RULE-11_1_b-2) 
        Conversions shall not be performed between a pointer to an incomplete type and any other type (MISRA2012-RULE-11_2-2) 
        A cast shall not be performed between a pointer to object type and a pointer to a different object type (MISRA2012-RULE-11_3-2) 
        A cast shall not be performed between pointer to void and an arithmetic type (MISRA2012-RULE-11_6-2) 
        A cast shall not be performed between pointer to object and a non-integer arithmetic type (MISRA2012-RULE-11_7-2) 
        A cast shall not remove any const or volatile qualification from the type pointed to by a pointer (MISRA2012-RULE-11_8-2) 
        The macro NULL shall be the only permitted form of integer null pointer constant (MISRA2012-RULE-11_9_a-2) 
        The macro NULL shall be the only permitted form of integer null pointer constant (MISRA2012-RULE-11_9_b-2) 
        The right hand operand of a shift operator shall lie in the range zero to one less than the width in bits of the essential type of the left hand operand (MISRA2012-RULE-12_2-2) 
        Initializer lists shall not contain persistent side effects (MISRA2012-RULE-13_1_a-2) 
        The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2012-RULE-13_2_a-2) 
        Don't write code that depends on the order of evaluation of function arguments (MISRA2012-RULE-13_2_b-2) 
        Don't write code that depends on the order of evaluation of function designator and function arguments (MISRA2012-RULE-13_2_c-2) 
        Don't write code that depends on the order of evaluation of expression that involves a function call (MISRA2012-RULE-13_2_d-2) 
        Between sequence points an object shall have its stored value modified at most once by the evaluation of an expression (MISRA2012-RULE-13_2_e-2) 
        Do not use more than one volatile in one expression (MISRA2012-RULE-13_2_f-2) 
        Don't write code that depends on the order of evaluation of function calls (MISRA2012-RULE-13_2_g-2) 
        The right hand operand of a logical && or || operator shall not contain persistent side effects (MISRA2012-RULE-13_5-2) 
        A loop counter in a 'for' loop shall not have essentially floating type (MISRA2012-RULE-14_1_a-2) 
        A loop counter in 'while' and 'do-while' loops shall not have essentially floating type (MISRA2012-RULE-14_1_b-2) 
        There shall only be one loop counter in a 'for' loop, which shall not be modified in the 'for' loop body (MISRA2012-RULE-14_2_a-2) 
        The first clause of a 'for' loop shall be well-formed (MISRA2012-RULE-14_2_b-2) 
        The second clause of a 'for' loop shall be well-formed (MISRA2012-RULE-14_2_c-2) 
        The third clause of a 'for' statement shall be well-formed (MISRA2012-RULE-14_2_d-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_a-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_b-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_c-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_d-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_e-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_f-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_g-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_h-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_i-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_j-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_k-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_l-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_m-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_n-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_o-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_p-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_q-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_r-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_s-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_t-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_u-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_v-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_w-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_x-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_y-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_z-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_za-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_zb-2) 
        Controlling expressions shall not be invariant (MISRA2012-RULE-14_3_zc-2) 
        Avoid switch with unreachable branches (MISRA2012-RULE-14_3_zd-2) 
        The controlling expression of an if statement and the controlling expression of an iteration-statement shall have essentially Boolean type (MISRA2012-RULE-14_4-2) 
        The goto statement shall jump to a label declared later in the same function (MISRA2012-RULE-15_2-2) 
        Any label referenced by a goto statement shall be declared in the same block, or in any block enclosing the goto statement (MISRA2012-RULE-15_3-2) 
        The body of an iteration-statement or a selection-statement shall be a compound-statement (MISRA2012-RULE-15_6_a-2) 
        The body of an iteration-statement or a selection-statement shall be a compound-statement (MISRA2012-RULE-15_6_b-2) 
        All 'if ... else if' constructs shall be terminated with an 'else' statement (MISRA2012-RULE-15_7-2) 
        A switch statement shall only contain switch labels and switch clauses, and no other code (MISRA2012-RULE-16_1_a-2) 
        A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement (MISRA2012-RULE-16_1_b-2) 
        An unconditional break statement shall terminate every non-empty case clause (MISRA2012-RULE-16_1_c-2) 
        An unconditional break statement shall terminate every non-empty default clause (MISRA2012-RULE-16_1_d-2) 
        Always provide a default branch for switch statements (MISRA2012-RULE-16_1_e-2) 
        A 'default' label shall have a statement or a comment before terminating 'break' (MISRA2012-RULE-16_1_f-2) 
        A 'default' label, if it exists, shall appear as either the first or the last switch label of a switch statement (MISRA2012-RULE-16_1_g-2) 
        Every switch statement shall have at least two switch-clauses (MISRA2012-RULE-16_1_h-2) 
        The features of <stdarg.h> shall not be used (MISRA2012-RULE-17_1_a-2) 
        The features of <stdarg.h> shall not be used (MISRA2012-RULE-17_1_b-2) 
        Functions shall not call themselves, either directly or indirectly (MISRA2012-RULE-17_2-2) 
        The value returned by a function having non-void return type shall be used (MISRA2012-RULE-17_7_a-2) 
        The value returned by a function having non-void return type shall be used (MISRA2012-RULE-17_7_b-2) 
        Avoid accessing arrays out of bounds (MISRA2012-RULE-18_1_a-2) 
        Avoid accessing arrays and pointers out of bounds (MISRA2012-RULE-18_1_b-2) 
        A pointer operand and any pointer resulting from pointer arithmetic using that operand shall both address elements of the same array (MISRA2012-RULE-18_1_c-2) 
        Subtraction between pointers shall only be applied to pointers that address elements of the same array (MISRA2012-RULE-18_2-2) 
        >, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array (MISRA2012-RULE-18_3-2) 
        The address of an object with automatic storage shall not be returned from a function (MISRA2012-RULE-18_6_a-2) 
        The address of an object with automatic storage shall not be assigned to another object that may persist after the first object has ceased to exist (MISRA2012-RULE-18_6_b-2) 
        Flexible array members shall not be declared (MISRA2012-RULE-18_7-2) 
        Variable-length array types shall not be used (MISRA2012-RULE-18_8-2) 
        A program should not exceed the translation limits imposed by The Standard (c90) (MISRA2012-RULE-1_1_a_c90-2) 
        A program should not exceed the translation limits imposed by The Standard (c99) (MISRA2012-RULE-1_1_a_c99-2) 
        A program should not exceed the translation limits imposed by The Standard (c90) (MISRA2012-RULE-1_1_b_c90-2) 
        A program should not exceed the translation limits imposed by The Standard (c99) (MISRA2012-RULE-1_1_b_c99-2) 
        Avoid division by zero (MISRA2012-RULE-1_3_a-2) 
        Do not use resources that have been freed (MISRA2012-RULE-1_3_c-2) 
        Avoid overflow when reading from a buffer (MISRA2012-RULE-1_3_d-2) 
        Avoid overflow when writing to a buffer (MISRA2012-RULE-1_3_e-2) 
        The value of an expression shall be the same under any order of evaluation that the standard permits (MISRA2012-RULE-1_3_f-2) 
        Don't write code that depends on the order of evaluation of function arguments (MISRA2012-RULE-1_3_g-2) 
        Don't write code that depends on the order of evaluation of function designator and function arguments (MISRA2012-RULE-1_3_h-2) 
        Don't write code that depends on the order of evaluation of expression that involves a function call (MISRA2012-RULE-1_3_i-2) 
        Between sequence points an object shall have its stored value modified at most once by the evaluation of an expression (MISRA2012-RULE-1_3_j-2) 
        Do not use more than one volatile in one expression (MISRA2012-RULE-1_3_k-2) 
        Don't write code that depends on the order of evaluation of function calls (MISRA2012-RULE-1_3_l-2) 
        A function shall not return a pointer or reference to a non-static local object (MISRA2012-RULE-1_3_m-2) 
        The address of an object with automatic storage shall not be assigned to an object which persists after the object has ceased to exist (MISRA2012-RULE-1_3_n-2) 
        The left-hand operand of a right-shift operator shall not have a negative value (MISRA2012-RULE-1_3_o-2) 
        A macro parameter immediately following a # operator shall not immediately be followed by a ## operator (MISRA2012-RULE-20_11-2) 
        A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators (MISRA2012-RULE-20_12-2) 
        A line whose first token is # shall be a valid preprocessing directive (MISRA2012-RULE-20_13-2) 
        All #else, #elif and #endif preprocessor directives shall reside in the same file as the #if, #ifdef or #ifndef directive to which they are related (MISRA2012-RULE-20_14-2) 
        The ', & or \ characters and the /* or // character sequences shall not occur in a header file name (MISRA2012-RULE-20_2_a-2) 
        The ', & or \ characters and the /* or // character sequences shall not occur in a header file name (MISRA2012-RULE-20_2_b-2) 
        The #include directive shall be followed by either a <filename> or "filename" sequence (MISRA2012-RULE-20_3-2) 
        A macro shall not be defined with the same name as a keyword (MISRA2012-RULE-20_4_a-2) 
        A macro shall not be defined with the same name as a keyword (MISRA2012-RULE-20_4_b-2) 
        Tokens that look like a preprocessing directive shall not occur within a macro argument (MISRA2012-RULE-20_6-2) 
        Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (MISRA2012-RULE-20_7-2) 
        The controlling expression of a #if or #elif preprocessing directive shall evaluate to 0 or 1 (MISRA2012-RULE-20_8-2) 
        All identifiers used in the controlling expression of #if or #elif preprocessing directives shall be #define'd before evaluation (MISRA2012-RULE-20_9_b-2) 
        The Standard Library time and date functions shall not be used (MISRA2012-RULE-21_10-2) 
        The standard header file <tgmath.h> shall not be used (MISRA2012-RULE-21_11-2) 
        The Standard Library function 'memcmp' shall not be used to compare null-terminated strings (MISRA2012-RULE-21_14-2) 
        The pointer arguments to the Standard Library functions 'memcmp', 'memmove' and 'memcmp' shall be pointers to qualified or unqualified versions of compatible types (MISRA2012-RULE-21_15-2) 
        The pointer arguments to the Standard Library function 'memcmp' shall point to either a pointer type, an essentially signed type, an essentially unsigned type, an essentially Boolean type or an essentially enum type (MISRA2012-RULE-21_16-2) 
        Do not #define or #undef identifiers with names which start with underscore (MISRA2012-RULE-21_1_a-2) 
        #define and #undef shall not be used on a reserved identifier or reserved macro name (for C90 code) (MISRA2012-RULE-21_1_b-2) 
        #define and #undef shall not be used on a reserved identifier or reserved macro name (for C99 code) (MISRA2012-RULE-21_1_c-2) 
        Do not #define nor #undef identifier 'defined' (MISRA2012-RULE-21_1_d-2) 
        An identifier with name which starts with underscore shall not be declared (MISRA2012-RULE-21_2_a-2) 
        A reserved identifier or macro name shall not be declared (for C90 code) (MISRA2012-RULE-21_2_b-2) 
        A reserved identifier or macro name shall not be declared (for C99 code) (MISRA2012-RULE-21_2_c-2) 
        The memory allocation and deallocation functions of <stdlib.h> shall not be used (MISRA2012-RULE-21_3-2) 
        The standard header file <setjmp.h> shall not be used (MISRA2012-RULE-21_4_a-2) 
        The standard header file <setjmp.h> shall not be used (MISRA2012-RULE-21_4_b-2) 
        The standard header file <signal.h> shall not be used (MISRA2012-RULE-21_5_a-2) 
        The standard header file <signal.h> shall not be used (MISRA2012-RULE-21_5_b-2) 
        The Standard Library input/output functions shall not be used (MISRA2012-RULE-21_6-2) 
        The atof, atoi, atol and atoll functions of <stdlib.h> shall not be used (MISRA2012-RULE-21_7-2) 
        The library functions abort, exit, getenv and system of <stdlib.h> shall not be used (MISRA2012-RULE-21_8-2) 
        The library functions bsearch and qsort of <stdlib.h> shall not be used (MISRA2012-RULE-21_9-2) 
        All resources obtained dynamically by means of Standard Library functions shall be explicitly released (MISRA2012-RULE-22_1-2) 
        The value of 'errno' shall only be tested when the last function to be called was an errno-setting-function (MISRA2012-RULE-22_10-2) 
        The same file shall not be opened for read and write access at the same time on different stream (MISRA2012-RULE-22_3-2) 
        The macro 'EOF' should be compared with the unmodified return value from the Standard Library function (MISRA2012-RULE-22_7-2) 
        The value of 'errno' shall be set to zero prior to a call to an errno-setting-function (MISRA2012-RULE-22_8-2) 
        The value of 'errno' shall be tested against zero after calling an errno-setting-function (MISRA2012-RULE-22_9-2) 
        There shall be no unreachable code in 'else' block (MISRA2012-RULE-2_1_a-2) 
        There shall be no unreachable code after 'return', 'break', 'continue', and 'goto' statements (MISRA2012-RULE-2_1_b-2) 
        There shall be no unreachable code in 'if', 'else', 'while', 'for' block (MISRA2012-RULE-2_1_c-2) 
        There shall be no unreachable code in 'switch' statement (MISRA2012-RULE-2_1_d-2) 
        There shall be no unreachable code in 'for' loop (MISRA2012-RULE-2_1_e-2) 
        There shall be no unreachable code after 'if' or 'switch' statement (MISRA2012-RULE-2_1_f-2) 
        There shall be no unreachable code after 'if' or 'switch' statement inside 'while'/'for'/'do...while' loop (MISRA2012-RULE-2_1_g-2) 
        All non-null statements shall either have at least one side-effect however executed or cause control flow to change (MISRA2012-RULE-2_2_a-2) 
        The character sequence /* shall not be used within a C-style comment (MISRA2012-RULE-3_1_a-2) 
        The character sequence // shall not be used within a C-style comment (MISRA2012-RULE-3_1_b-2) 
        The character sequence /* shall not be used within a C++-style comment (MISRA2012-RULE-3_1_c-2) 
        Line-splicing shall not be used in // comments (MISRA2012-RULE-3_2-2) 
        Octal and hexadecimal escape sequences shall be terminated (MISRA2012-RULE-4_1-2) 
        External identifiers shall be distinct (MISRA2012-RULE-5_1-2) 
        Identifiers declared in the file scope and in the same name space shall be distinct (c90) (MISRA2012-RULE-5_2_a_c90-2) 
        Identifiers declared in the file scope and in the same name space shall be distinct (c99) (MISRA2012-RULE-5_2_a_c99-2) 
        Identifiers declared in the same block scope and name space shall be distinct (c90) (MISRA2012-RULE-5_2_b_c90-2) 
        Identifiers declared in the same block scope and name space shall be distinct (c99) (MISRA2012-RULE-5_2_b_c99-2) 
        An identifier declared in an inner scope shall not hide an identifier declared in an outer scope (MISRA2012-RULE-5_3_a-2) 
        An identifier declared in an inner scope shall not hide an identifier declared in an outer scope (MISRA2012-RULE-5_3_b-2) 
        The name of a macro should be distinct from the names of its parameters(c90) (MISRA2012-RULE-5_4_a_c90-2) 
        The name of a macro should be distinct from the names of its parameters(c99) (MISRA2012-RULE-5_4_a_c99-2) 
        The name of a macro should be distinct from the names of other macros that are currently defined(c90) (MISRA2012-RULE-5_4_b_c90-2) 
        The name of a macro should be distinct from the names of other macros that are currently defined(c99) (MISRA2012-RULE-5_4_b_c99-2) 
        Identifiers shall be distinct from macro names (c90) (MISRA2012-RULE-5_5_c90-2) 
        Identifiers shall be distinct from macro names (c99) (MISRA2012-RULE-5_5_c99-2) 
        A typedef name shall be a unique identifier (MISRA2012-RULE-5_6_a-2) 
        A typedef name shall be a unique identifier (MISRA2012-RULE-5_6_b-2) 
        A tag name shall not be reused for other purpose within the program (MISRA2012-RULE-5_7_a-2) 
        A tag name shall not be reused to define a different tag (MISRA2012-RULE-5_7_b-2) 
        Identifiers that define objects or functions with external linkage shall be unique (MISRA2012-RULE-5_8-2) 
        Bit-fields shall only be declared with an appropriate type (MISRA2012-RULE-6_1-2) 
        Single-bit named bit fields shall not be of a signed type (MISRA2012-RULE-6_2-2) 
        Octal constants shall not be used (MISRA2012-RULE-7_1-2) 
        A 'u' or 'U' suffix shall be applied to all integer constants that are represented in an unsigned type (MISRA2012-RULE-7_2-2) 
        The lowercase character 'l' shall not be used in a literal suffix (MISRA2012-RULE-7_3-2) 
        A string literal shall not be assigned to an object unless the object's type is pointer to const-qualified char (MISRA2012-RULE-7_4-2) 
        An inline function shall be declared with the static storage class (MISRA2012-RULE-8_10-2) 
        Within an enumerator list, the value of an implicitly-specified enumeration constant shall be unique (MISRA2012-RULE-8_12-2) 
        The restrict type qualifier shall not be used (MISRA2012-RULE-8_14-2) 
        Whenever a function is declared or defined, its type shall be explicitly stated (MISRA2012-RULE-8_1_a-2) 
        Whenever an object is declared or defined, its type shall be explicitly stated (MISRA2012-RULE-8_1_b-2) 
        Identifiers shall be given for all of the parameters in a function prototype declaration (MISRA2012-RULE-8_2_a-2) 
        Function types shall have named parameters (MISRA2012-RULE-8_2_b-2) 
        Function types shall be in prototype form (MISRA2012-RULE-8_2_c-2) 
        If objects or functions are declared more than once their types shall be compatible (MISRA2012-RULE-8_3_a-2) 
        The identifiers used in the declaration and definition of a function shall be identical (MISRA2012-RULE-8_3_b-2) 
        A compatible declaration shall be visible when an object or function with external linkage is defined (MISRA2012-RULE-8_4_a-2) 
        A compatible declaration shall be visible when an object or function with external linkage is defined (MISRA2012-RULE-8_4_b-2) 
        An external object or function shall not have more than one non-defining declaration in translation unit (MISRA2012-RULE-8_5-2) 
        An identifier with external linkage shall have exactly one external definition (MISRA2012-RULE-8_6-2) 
        The static storage class specifier shall be used in all declarations of objects and functions that have internal linkage (MISRA2012-RULE-8_8-2) 
        The initializer for an aggregate or union shall be enclosed in braces (MISRA2012-RULE-9_2-2) 
        Arrays shall not be partially initialized (MISRA2012-RULE-9_3-2) 
        An element of an object shall not be initialized more than once (MISRA2012-RULE-9_4-2) 
        Where designated initializers are used to initialize an array object the size of the array shall be specified explicitly (MISRA2012-RULE-9_5-2) 
        Integer overflow or underflow in constant expression in '+', '-', '*' operator (MISRA2012-RULE-12_4_a-4) 
        Integer overflow or underflow in constant expression in '<<' operator (MISRA2012-RULE-12_4_b-4) 
        The exception handling features of <fenv.h> should not be used (MISRA2012-RULE-21_12-4) 
        There should be no unused parameters in functions (MISRA2012-RULE-2_7-4) 
        Functions and objects should not be defined with external linkage if they are referenced in only one translation unit (MISRA2012-RULE-8_7-4) 
        An object should be defined at block scope if its identifier only appears in a single function (MISRA2012-RULE-8_9-4) 
     [40/40]  MISRA C 2012 Directives (MISRA2012-DIR) 
        Precautions shall be taken in order to prevent the contents of a header file being included more than once (MISRA2012-DIR-4_10-2) 
        Validate values passed to library functions (MISRA2012-DIR-4_11-2) 
        Dynamic memory allocation shall not be used (MISRA2012-DIR-4_12-2) 
        Avoid tainted data in array indexes (MISRA2012-DIR-4_14_a-2) 
        Protect against integer overflow/underflow from tainted data (MISRA2012-DIR-4_14_b-2) 
        Avoid buffer read overflow from tainted data (MISRA2012-DIR-4_14_c-2) 
        Avoid buffer write overflow from tainted data (MISRA2012-DIR-4_14_d-2) 
        Protect against command injection (MISRA2012-DIR-4_14_e-2) 
        Protect against file name injection (MISRA2012-DIR-4_14_f-2) 
        Protect against SQL injection (MISRA2012-DIR-4_14_g-2) 
        Prevent buffer overflows from tainted data (MISRA2012-DIR-4_14_h-2) 
        Avoid buffer overflow from tainted data due to defining incorrect format limits (MISRA2012-DIR-4_14_i-2) 
        Protect against environment injection (MISRA2012-DIR-4_14_j-2) 
        Avoid printing tainted data on the output console (MISRA2012-DIR-4_14_k-2) 
        Avoid accessing arrays out of bounds (MISRA2012-DIR-4_1_a-2) 
        Avoid null pointer dereferencing (MISRA2012-DIR-4_1_b-2) 
        Avoid division by zero (MISRA2012-DIR-4_1_c-2) 
        Avoid buffer overflow due to defining incorrect format limits (MISRA2012-DIR-4_1_d-2) 
        Avoid overflow due to reading a not zero terminated string (MISRA2012-DIR-4_1_e-2) 
        Do not check for null after dereferencing (MISRA2012-DIR-4_1_f-2) 
        Avoid overflow when reading from a buffer (MISRA2012-DIR-4_1_g-2) 
        Avoid overflow when writing to a buffer (MISRA2012-DIR-4_1_h-2) 
        Pointer arithmetic shall only be applied to pointers that address an array or array element (MISRA2012-DIR-4_1_i-2) 
        >, >=, <, <= shall not be applied to objects of pointer type, except where they point to the same array (MISRA2012-DIR-4_1_j-2) 
        Assembly language shall be encapsulated and isolated (MISRA2012-DIR-4_3-2) 
        Consistently check the returned value of non-void functions (MISRA2012-DIR-4_7_a-2) 
        Always check the returned value of non-void function (MISRA2012-DIR-4_7_b-2) 
        All resources obtained dynamically by means of Standard Library functions shall be explicitly released (MISRA2012-DIR-4_13_a-4) 
        Do not use resources that have been freed (MISRA2012-DIR-4_13_b-4) 
        Do not free resources using invalid pointers (MISRA2012-DIR-4_13_c-4) 
        Do not abandon unreleased locks (MISRA2012-DIR-4_13_d-4) 
        Avoid double locking (MISRA2012-DIR-4_13_e-4) 
        All usage of assembly language should be documented (MISRA2012-DIR-4_2-4) 
        Sections of code should not be "commented out" (MISRA2012-DIR-4_4-4) 
        Identifiers in the same name space with overlapping visibility should be typographically unambiguous (MISRA2012-DIR-4_5-4) 
        typedefs to basic types should contain some digits in their name (MISRA2012-DIR-4_6_a-4) 
        typedefs should be used in place of the basic types (MISRA2012-DIR-4_6_b-4) 
        Use typedefs from stdint.h instead of declaring your own in C99 code (MISRA2012-DIR-4_6_c-4) 
        If a pointer to a structure or union is never dereferenced within a translation unit, then the implementation of the object should be hidden (MISRA2012-DIR-4_8-4) 
        A function should be used in preference to a function-like macro where they are interchangeable (MISRA2012-DIR-4_9-4) 
 [1/4]  Magneti Marelli Standard Coding Rules - C++ Language (MM_C++LANG) 
    UNCAUGHT_EXCEPT (MM_C++LANG-0027-1) 
 [9/18]  Magneti Marelli Standard Coding Rules - C Language (MM_CLANG) 
    FORWARD_NULL (MM_CLANG-0006-1) 
    NULL_RETURNS (MM_CLANG-0008a-1) 
    NULL_RETURNS (MM_CLANG-0008b-1) 
    RESOURCE_LEAK (MM_CLANG-0011a-1) 
    RESOURCE_LEAK (MM_CLANG-0011b-1) 
    REVERSE_INULL (MM_CLANG-0013-1) 
    SIZECHECK (MM_CLANG-0015b-1) 
    SIZECHECK (MM_CLANG-0015c-1) 
    MISSING_BREAK (MM_CLANG-0022-1) 
 [6/7]  Magneti Marelli Standard Coding Rules - Security (MM_SEC) 
    BUFFER_SIZE (MM_SEC-0036a-1) 
    BUFFER_SIZE (MM_SEC-0036b-1) 
    INTEGER_OVERFLOW & TAINTED SCALAR (MM_SEC-0037a&0041-1) 
    INTEGER_OVERFLOW (MM_SEC-0037b-1) 
    INTEGER_OVERFLOW & STRING_SIZE (MM_SEC-0037c&0040-1) 
    STRING_NULL (MM_SEC-0038-1) 
 [1/52]  Memory and Resource Management (MRM) 
    Do not use sizeof operator on pointer type to specify the size of the memory to be allocated via 'malloc', 'calloc' or 'realloc' function (MRM-45-3) 
 [1/78]  Possible Bugs (PB) 
    The unbounded functions of library <cstring> shall not be used (PB-37-3) 
 [21/48]  Security (SECURITY) 
    Avoid functions which use random numbers from standard C library (SECURITY-02-2) 
    Use care to ensure that LoadLibrary() will load the correct library (SECURITY-04-2) 
    Avoid calling functions printf/wprintf with only one argument other than string constant (SECURITY-05-2) 
    Avoid using functions fprintf/fwprintf with only two parameters, when second parameter is a variable (SECURITY-08-2) 
    Avoid using unsecured shell functions that may be affected by shell metacharacters (SECURITY-11-2) 
    Avoid using unsafe string functions that do not check bounds (SECURITY-13-2) 
    Do not use scanf and fscanf functions without specifying variable size in format string (SECURITY-14-2) 
    Do not print potentially sensitive information, resulting from an application error into exception messages (SECURITY-15-2) 
    Avoid passing non-const parameters or variables into exec (SECURITY-17-2) 
    Avoid passing dynamically created strings into exec (SECURITY-18-2) 
    Avoid passing user input into methods as parameters (SECURITY-20-2) 
    Do not use mbstowcs() function (SECURITY-22-2) 
    Beware of functions which may return the current directory or the windows directory (SECURITY-23-2) 
    Standard random number generators should not be used to generate randomness for security reasons (SECURITY-28-2) 
    Avoid using 'getpw' function in program code (SECURITY-30-2) 
    Do not use 'cuserid' function (SECURITY-31-2) 
    Avoid using environment variables (SECURITY-34-2) 
    Don't trust any value of command line if attacker can set them (SECURITY-35-2) 
    Never use unfiltered data from an untrusted user as the format parameter (SECURITY-36-2) 
    Do not use weak encryption functions (SECURITY-37-2) 
    Usage of system properties (environment variables) should be restricted (SECURITY-03-4) 

SETUP PROBLEMS
Back to Top    

[WARNING] Validation problems with mapping/cloning:
The rule with the ID MISRA2004-14_1_b_duplicated_1 has not been found and cannot be mapped or cloned.


©Parasoft Corp. - C++test 10.4.2.20190409B424 Reporting System