]> begriffs open source - cmsis-freertos/blob - Source/examples/coverity/coverity_misra.config
Correct memory allocation and access in osMemoryPoolNew (#142)
[cmsis-freertos] / Source / examples / coverity / coverity_misra.config
1 {
2     "version" : "2.0",
3     "standard" : "c2012",
4     "title": "Coverity MISRA Configuration",
5     "deviations" : [
6         {
7             "deviation": "Rule 1.2",
8             "reason": "Allow use of __attribute__ for necessary functions placement in specific memory regions."
9         },
10         {
11             "deviation": "Rule 3.1",
12             "reason": "We post HTTP links in code comments which contain // inside comments blocks."
13         },
14         {
15             "deviation": "Rule 14.4",
16             "reason": "do while( 0 ) pattern is used in macros to prevent extra semi-colon."
17         },
18         {
19             "deviation": "Directive 4.4",
20             "reason": "Code snippet is used in comment to help explanation."
21         },
22         {
23             "deviation": "Directive 4.5",
24             "reason": "Allow names that MISRA considers ambiguous."
25         },
26         {
27             "deviation": "Directive 4.6",
28             "reason": "Allow port to use primitive type with typedefs."
29         },
30         {
31             "deviation": "Directive 4.8",
32             "reason": "HeapRegion_t and HeapStats_t are used only in heap files but declared in portable.h which is included in multiple source files. As a result, these definitions appear in multiple source files where they are not used."
33         },
34         {
35             "deviation": "Directive 4.9",
36             "reason": "FreeRTOS-Kernel is optimised to work on small micro-controllers. To achieve that, function-like macros are used."
37         },
38         {
39             "deviation": "Rule 2.3",
40             "reason": "FreeRTOS defines types which is used in application."
41         },
42         {
43             "deviation": "Rule 2.4",
44             "reason": "Allow to define unused tag."
45         },
46         {
47             "deviation": "Rule 2.5",
48             "reason": "Allow to define unused macro."
49         },
50         {
51             "deviation": "Rule 5.9",
52             "reason": "Allow to define identifier with the same name in structure and global variable."
53         },
54         {
55             "deviation": "Rule 8.7",
56             "reason": "API functions are not used by the library outside of the files they are defined; however, they must be externally visible in order to be used by an application."
57         },
58         {
59             "deviation": "Rule 8.9",
60             "reason": "Allow to object to be defined in wider scope for debug purpose."
61         },
62         {
63             "deviation": "Rule 8.13",
64             "reason": "Allow to not to use const-qualified type for callback function."
65         },
66         {
67             "deviation": "Rule 11.4",
68             "reason": "Allow to convert between a pointer to object and an interger type for stack alignment."
69         },
70         {
71             "deviation": "Rule 15.4",
72             "reason": "Allow to use multiple break statements in a loop."
73         },
74         {
75             "deviation": "Rule 15.5",
76             "reason": "Allow to use multiple points of exit."
77         },
78         {
79             "deviation": "Rule 17.8",
80             "reason": "Allow to update the parameters of a function."
81         },
82         {
83             "deviation": "Rule 18.4",
84             "reason": "Allow to use pointer arithmetic."
85         },
86         {
87             "deviation": "Rule 19.2",
88             "reason": "Allow to use union."
89         },
90         {
91             "deviation": "Rule 20.5",
92             "reason": "Allow to use #undef for MPU wrappers."
93         }
94     ]
95 }