We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 66de42c commit 3d0a205Copy full SHA for 3d0a205
5 files changed
cpp/ql/lib/ext/CComBSTR.model.yml
@@ -20,7 +20,7 @@ extensions:
20
- ["", "CComBSTR", True, "ArrayToBSTR", "", "", "Argument[*0].Field[*pvData]", "Argument[-1]", "value", "manual"]
21
- ["", "CComBSTR", True, "AssignBSTR", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"]
22
- ["", "CComBSTR", True, "Attach", "", "", "Argument[*0]", "Argument[-1]", "value", "manual"]
23
- - ["", "CComBSTR", True, "BSTRToArray", "", "", "Argument[-1]", "Argument[*0].Field[*pvData]", "value", "manual"]
+ - ["", "CComBSTR", True, "BSTRToArray", "", "", "Argument[-1]", "Argument[**0].Field[*pvData]", "value", "manual"]
24
- ["", "CComBSTR", True, "Copy", "", "", "Argument[-1]", "ReturnValue[*]", "value", "manual"]
25
- ["", "CComBSTR", True, "CopyTo", "", "", "Argument[-1]", "Argument[*0]", "value", "manual"]
26
- ["", "CComBSTR", True, "LoadString", "(HINSTANCE,UINT)", "", "Argument[1]", "Argument[-1]", "taint", "manual"]
cpp/ql/test/library-tests/dataflow/external-models/flow.expected
@@ -11,14 +11,14 @@ edges
11
| asio_streams.cpp:100:44:100:62 | call to buffer | asio_streams.cpp:103:29:103:39 | *send_buffer | provenance | Sink:MaD:6 |
12
| asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | provenance | |
13
| asio_streams.cpp:100:64:100:71 | *send_str | asio_streams.cpp:100:44:100:62 | call to buffer | provenance | MaD:10 |
14
-| test.cpp:4:5:4:11 | [summary param] 0 in ymlStep | test.cpp:4:5:4:11 | [summary] to write: ReturnValue in ymlStep | provenance | MaD:801 |
15
-| test.cpp:7:10:7:18 | call to ymlSource | test.cpp:7:10:7:18 | call to ymlSource | provenance | Src:MaD:799 |
16
-| test.cpp:7:10:7:18 | call to ymlSource | test.cpp:11:10:11:10 | x | provenance | Sink:MaD:800 |
+| test.cpp:4:5:4:11 | [summary param] 0 in ymlStep | test.cpp:4:5:4:11 | [summary] to write: ReturnValue in ymlStep | provenance | MaD:800 |
+| test.cpp:7:10:7:18 | call to ymlSource | test.cpp:7:10:7:18 | call to ymlSource | provenance | Src:MaD:798 |
+| test.cpp:7:10:7:18 | call to ymlSource | test.cpp:11:10:11:10 | x | provenance | Sink:MaD:799 |
17
| test.cpp:7:10:7:18 | call to ymlSource | test.cpp:13:18:13:18 | x | provenance | |
18
| test.cpp:13:10:13:16 | call to ymlStep | test.cpp:13:10:13:16 | call to ymlStep | provenance | |
19
-| test.cpp:13:10:13:16 | call to ymlStep | test.cpp:15:10:15:10 | y | provenance | Sink:MaD:800 |
+| test.cpp:13:10:13:16 | call to ymlStep | test.cpp:15:10:15:10 | y | provenance | Sink:MaD:799 |
| test.cpp:13:18:13:18 | x | test.cpp:4:5:4:11 | [summary param] 0 in ymlStep | provenance | |
-| test.cpp:13:18:13:18 | x | test.cpp:13:10:13:16 | call to ymlStep | provenance | MaD:801 |
+| test.cpp:13:18:13:18 | x | test.cpp:13:10:13:16 | call to ymlStep | provenance | MaD:800 |
nodes
| asio_streams.cpp:56:18:56:23 | [summary param] *0 in buffer | semmle.label | [summary param] *0 in buffer |
| asio_streams.cpp:56:18:56:23 | [summary] to write: ReturnValue in buffer | semmle.label | [summary] to write: ReturnValue in buffer |
cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp
@@ -426,7 +426,7 @@ struct CComBSTR {
426
HRESULT ArrayToBSTR(const SAFEARRAY* pSrc) throw();
427
HRESULT AssignBSTR(const BSTR bstrSrc) throw();
428
void Attach(BSTR src) throw();
429
- HRESULT BSTRToArray(LPSAFEARRAY ppArray) throw();
+ HRESULT BSTRToArray(LPSAFEARRAY* ppArray) throw();
430
unsigned int ByteLength() const throw();
431
BSTR Copy() const throw();
432
HRESULT CopyTo(BSTR* pbstr) throw();
@@ -504,10 +504,10 @@ void test_CComBSTR() {
504
sink(b8.m_str); // $ ir
505
506
CComBSTR b9;
507
- SAFEARRAY safe;
+ LPSAFEARRAY safe;
508
b9.Append(source<char>());
509
b9.BSTRToArray(&safe);
510
- sink(safe.pvData); // $ ir
+ sink(safe->pvData); // $ ir
511
512
sink(b9.Copy()); // $ ir
513
}
cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected
@@ -606,8 +606,8 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future
606
| atl.cpp:506:14:506:15 | call to CComBSTR | atl.cpp:509:5:509:6 | b9 | |
607
| atl.cpp:506:14:506:15 | call to CComBSTR | atl.cpp:512:10:512:11 | b9 | |
608
| atl.cpp:506:14:506:15 | call to CComBSTR | atl.cpp:513:3:513:3 | b9 | |
609
-| atl.cpp:507:15:507:18 | safe | atl.cpp:509:21:509:24 | safe | |
610
-| atl.cpp:507:15:507:18 | safe | atl.cpp:510:10:510:13 | safe | |
+| atl.cpp:507:17:507:20 | safe | atl.cpp:509:21:509:24 | safe | |
+| atl.cpp:507:17:507:20 | safe | atl.cpp:510:10:510:13 | safe | |
611
| atl.cpp:508:5:508:6 | ref arg b9 | atl.cpp:509:5:509:6 | b9 | |
612
| atl.cpp:508:5:508:6 | ref arg b9 | atl.cpp:512:10:512:11 | b9 | |
613
| atl.cpp:508:5:508:6 | ref arg b9 | atl.cpp:513:3:513:3 | b9 | |
cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected
@@ -613,7 +613,7 @@ getParameterTypeName
| atl.cpp:426:11:426:21 | ArrayToBSTR | 0 | const SAFEARRAY * |
614
| atl.cpp:427:11:427:20 | AssignBSTR | 0 | const BSTR |
615
| atl.cpp:428:8:428:13 | Attach | 0 | BSTR |
616
-| atl.cpp:429:11:429:21 | BSTRToArray | 0 | LPSAFEARRAY |
+| atl.cpp:429:11:429:21 | BSTRToArray | 0 | LPSAFEARRAY * |
617
| atl.cpp:432:11:432:16 | CopyTo | 0 | BSTR * |
618
| atl.cpp:434:11:434:16 | CopyTo | 0 | VARIANT * |
619
| atl.cpp:438:8:438:17 | LoadString | 0 | HINSTANCE |
0 commit comments