Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0f8df1c

Browse files
committed
C++: Add MaD model for 'CAtlArray'.
1 parent 1cd426e commit 0f8df1c

2 files changed

Lines changed: 24 additions & 9 deletions

File tree

cpp/ql/lib/ext/CAtlArray.model.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/cpp-all
4+
extensible: summaryModel
5+
data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance
6+
- ["", "CAtlArray", True, "Add", "", "", "Argument[*@0]", "Argument[-1].Element[@]", "value", "manual"]
7+
- ["", "CAtlArray", True, "Append", "", "", "Argument[*0].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
8+
- ["", "CAtlArray", True, "Copy", "", "", "Argument[*0].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
9+
- ["", "CAtlArray", True, "GetAt", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"]
10+
- ["", "CAtlArray", True, "GetData", "", "", "Argument[-1].Element[@]", "ReturnValue[*@]", "value", "manual"]
11+
- ["", "CAtlArray", True, "InsertArrayAt", "", "", "Argument[*1].Element[@]", "Argument[-1].Element[@]", "value", "manual"]
12+
- ["", "CAtlArray", True, "InsertAt", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
13+
- ["", "CAtlArray", True, "SetAt", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
14+
- ["", "CAtlArray", True, "SetAtGrow", "", "", "Argument[@1]", "Argument[-1].Element[@]", "value", "manual"]
15+
- ["", "CAtlArray", True, "operator[]", "", "", "Argument[-1].Element[@]", "ReturnValue[*]", "value", "manual"]

cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -217,35 +217,35 @@ void test_CAtlArray() {
217217
{
218218
CAtlArray<int> a;
219219
a.Add(x);
220-
sink(a[0]); // $ MISSING: ir
220+
sink(a[0]); // $ ir
221221
a.Add(0);
222-
sink(a[0]); // $ MISSING: ir
222+
sink(a[0]); // $ ir
223223

224224
CAtlArray<int> a2;
225225
sink(a2[0]);
226226
a2.Append(a);
227-
sink(a2[0]); // $ MISSING: ir
227+
sink(a2[0]); // $ ir
228228

229229
CAtlArray<int> a3;
230230
sink(a3[0]);
231231
a3.Copy(a2);
232-
sink(a3[0]); // $ MISSING: ir
232+
sink(a3[0]); // $ ir
233233

234-
sink(a3.GetAt(0)); // $ MISSING: ir
235-
sink(*a3.GetData()); // $ MISSING: ir
234+
sink(a3.GetAt(0)); // $ ir
235+
sink(*a3.GetData()); // $ ir
236236

237237
CAtlArray<int> a4;
238238
sink(a4.GetAt(0));
239239
a4.InsertArrayAt(0, &a3);
240-
sink(a4.GetAt(0)); // $ MISSING: ir
240+
sink(a4.GetAt(0)); // $ ir
241241
}
242242
{
243243
CAtlArray<int> a5;
244244
a5.InsertAt(0, source<int>(), 1);
245-
sink(a5[0]); // $ MISSING: ir
245+
sink(a5[0]); // $ ir
246246

247247
CAtlArray<int> a6;
248248
a6.SetAtGrow(0, source<int>());
249-
sink(a6[0]); // $ MISSING: ir
249+
sink(a6[0]); // $ ir
250250
}
251251
}

0 commit comments

Comments
 (0)