mirror of
https://github.com/github/codeql.git
synced 2026-04-25 00:35:20 +02:00
C++: Add MaD model for 'CComSafeArray'.
This commit is contained in:
27
cpp/ql/lib/ext/CComSafeArray.model.yml
Normal file
27
cpp/ql/lib/ext/CComSafeArray.model.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
extensions:
|
||||
- addsTo:
|
||||
pack: codeql/cpp-all
|
||||
extensible: summaryModel
|
||||
data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance
|
||||
- ["", "CComSafeArray", True, "CComSafeArray", "(const CComSafeArray &)", "", "Argument[*0]", "Argument[-1]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "CComSafeArray", "(const SAFEARRAY &)", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "CComSafeArray", "(const SAFEARRAY *)", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "Add", "(const SAFEARRAY *)", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray<T>", True, "Add", "(const T &,BOOL)", "", "Argument[*@0]", "Argument[-1].Field[*m_psa].Field[*@pvData]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "Attach", "", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "CopyFrom", "", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "CopyTo", "", "", "Argument[-1].Field[*m_psa]", "Argument[*0]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "Create", "(const SAFEARRAYBOUND *,UINT)", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "GetAt", "", "", "Argument[-1].Field[*m_psa].Field[*@pvData]", "ReturnValue[*@]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "GetLowerBound", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["", "CComSafeArray", True, "GetSafeArrayPtr", "", "", "Argument[-1].Field[*m_psa]", "ReturnValue[*]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "GetUpperBound", "", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
|
||||
- ["", "CComSafeArray", True, "MultiDimGetAt", "", "", "Argument[-1].Field[*m_psa].Field[*@pvData]", "Argument[*@1]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "MultiDimSetAt", "", "", "Argument[*@1]", "Argument[-1].Field[*m_psa].Field[*@pvData]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "SetAt", "", "", "Argument[*@1]", "Argument[-1].Field[*m_psa].Field[*@pvData]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator LPSAFEARRAY", "", "", "Argument[-1].Field[*m_psa]", "ReturnValue[*]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator[]", "", "", "Argument[-1].Field[*m_psa].Field[*@pvData]", "ReturnValue[*@]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator=", "(const CComSafeArray&)", "", "Argument[*0].Field[*m_psa]", "ReturnValue[*]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator=", "(const CComSafeArray&)", "", "Argument[*0].Field[*m_psa]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator=", "(const SAFEARRAY *)", "", "Argument[*0]", "Argument[-1].Field[*m_psa]", "value", "manual"]
|
||||
- ["", "CComSafeArray", True, "operator=", "(const SAFEARRAY *)", "", "Argument[*0]", "ReturnValue[*]", "value", "manual"]
|
||||
@@ -572,10 +572,10 @@ void test_CComSafeArray() {
|
||||
sink(safe->pvData); // $ ir
|
||||
{
|
||||
CComSafeArray<int> c(safe);
|
||||
sink(c[0]); // $ MISSING: ir
|
||||
sink(c.GetAt(0)); // $ MISSING: ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ MISSING: ir
|
||||
sink(c.m_psa->pvData); // $ MISSING: ir
|
||||
sink(c[0]); // $ ir
|
||||
sink(c.GetAt(0)); // $ ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ ir
|
||||
sink(c.m_psa->pvData); // $ ir
|
||||
}
|
||||
{
|
||||
CComSafeArray<int> c;
|
||||
@@ -583,22 +583,22 @@ void test_CComSafeArray() {
|
||||
sink(c.GetAt(0));
|
||||
sink(c.GetSafeArrayPtr()->pvData);
|
||||
c.Add(safe);
|
||||
sink(c[0]); // $ MISSING: ir
|
||||
sink(c.GetAt(0)); // $ MISSING: ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ MISSING: ir
|
||||
sink(static_cast<LPSAFEARRAY>(c)->pvData); // $ MISSING: ir
|
||||
sink(c[0]); // $ ir
|
||||
sink(c.GetAt(0)); // $ ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ ir
|
||||
sink(static_cast<LPSAFEARRAY>(c)->pvData); // $ ir
|
||||
}
|
||||
{
|
||||
CComSafeArray<int> c;
|
||||
c.Add(source<int>(), true);
|
||||
sink(c[0]); // $ MISSING: ir
|
||||
sink(c.GetAt(0)); // $ MISSING: ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ MISSING: ir
|
||||
sink(c[0]); // $ ir
|
||||
sink(c.GetAt(0)); // $ ir
|
||||
sink(c.GetSafeArrayPtr()->pvData); // $ ir
|
||||
}
|
||||
{
|
||||
CComSafeArray<int> c;
|
||||
c.SetAt(0, source<int>(), true);
|
||||
sink(c[0]); // $ MISSING: ir
|
||||
sink(c[0L]); // $ MISSING: ir
|
||||
sink(c[0]); // $ ir
|
||||
sink(c[0L]); // $ ir
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user