-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathUndefined.json
More file actions
145 lines (145 loc) · 6.07 KB
/
Undefined.json
File metadata and controls
145 lines (145 loc) · 6.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
{
"MISRA-C++-2023": {
"RULE-4-1-3": {
"properties": {
"enforcement": "undecidable",
"obligation": "required"
},
"queries": [
{
"description": "Threads accessing the same memory location concurrently without utilization of thread synchronization objects results in undefined behavior.",
"kind": "problem",
"name": "Data races between threads lead to undefined behavior",
"precision": "medium",
"severity": "error",
"shared_implementation_short_name": "PossibleDataRaceBetweenThreadsShared",
"short_name": "PossibleDataRaceBetweenThreads",
"tags": [
"correctness",
"concurrency",
"scope/system"
]
},
{
"description": "Deleting an array through a pointer of an incorrect type leads to undefined behavior.",
"kind": "path-problem",
"name": "Array deleted through pointer of incorrect type leads to undefined behavior",
"precision": "high",
"severity": "error",
"shared_implementation_short_name": "DoNotDeleteAnArrayThroughAPointerOfTheIncorrectTypeShared",
"short_name": "ArrayDeletedThroughPointerOfIncorrectType",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Signed integer overflow or underflow from arithmetic operations results in critical unspecified behavior.",
"kind": "problem",
"name": "Signed integer overflow leads to critical unspecified behavior",
"precision": "medium",
"severity": "error",
"shared_implementation_short_name": "SignedIntegerOverflowShared",
"short_name": "SignedIntegerOverflow",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Division or remainder by zero results in undefined behavior.",
"kind": "problem",
"name": "Division or modulo by zero leads to undefined behavior",
"precision": "high",
"severity": "error",
"shared_implementation_short_name": "DivisorEqualToZeroShared",
"short_name": "DivisionByZeroUndefinedBehavior",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Using a deallocation function that does not match the allocation function results in undefined behavior.",
"kind": "problem",
"name": "Deallocation type mismatch leads to undefined behavior",
"precision": "medium",
"severity": "error",
"shared_implementation_short_name": "ProperlyDeallocateDynamicallyAllocatedResourcesShared",
"short_name": "DeallocationTypeMismatch",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Assigning a string literal to a non-const pointer may lead to undefined behaviour if the string is modified through that pointer.",
"kind": "problem",
"name": "Audit: string literal possibly modified through non-const pointer",
"precision": "low",
"severity": "error",
"shared_implementation_short_name": "StringLiteralsAssignedToNonConstantPointersShared",
"short_name": "StringLiteralPossiblyModifiedAudit",
"tags": [
"correctness",
"scope/system",
"external/misra/audit"
]
},
{
"description": "Casting to an enumeration value outside the range of the enumeration's values results in critical unspecified behavior.",
"kind": "problem",
"name": "Out-of-range enumeration cast leads to critical unspecified behavior",
"precision": "high",
"severity": "error",
"shared_implementation_short_name": "DoNotCastToAnOutOfRangeEnumerationValueShared",
"short_name": "OutOfRangeEnumCastCriticalUnspecifiedBehavior",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Using a null pointer-to-member value as the second operand in a pointer-to-member expression results in undefined behavior.",
"kind": "path-problem",
"name": "Null pointer-to-member access leads to undefined behavior",
"precision": "high",
"severity": "error",
"shared_implementation_short_name": "AccessOfUndefinedMemberThroughNullPointer",
"short_name": "NullPointerToMemberAccessUndefinedBehavior",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Using an uninitialized static pointer-to-member in a pointer-to-member expression results in undefined behavior.",
"kind": "problem",
"name": "Uninitialized static pointer-to-member access leads to undefined behavior",
"precision": "very-high",
"severity": "error",
"shared_implementation_short_name": "AccessOfUndefinedMemberThroughUninitializedStaticPointer",
"short_name": "UninitializedStaticPointerToMemberUndefinedBehavior",
"tags": [
"correctness",
"scope/system"
]
},
{
"description": "Using a pointer-to-member expression where the dynamic type of the first operand does not contain the member pointed to by the second operand results in undefined behavior.",
"kind": "problem",
"name": "Pointer-to-member access of nonexistent member leads to undefined behavior",
"precision": "very-high",
"severity": "error",
"shared_implementation_short_name": "AccessOfNonExistingMemberThroughPointerToMember",
"short_name": "NonExistentMemberAccessUndefinedBehavior",
"tags": [
"correctness",
"scope/system"
]
}
],
"title": "There shall be no occurrence of undefined or critical unspecified behaviour"
}
}
}