diff --git a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected index e8dc5453df3..1b74b290eb3 100644 --- a/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected +++ b/cpp/ql/test/library-tests/dataflow/external-models/validatemodels.expected @@ -6,12 +6,14 @@ | Dubious member name "operator LPWSTR" in summary model. | | Dubious member name "operator PCXSTR" in summary model. | | Dubious member name "operator PXSTR" in summary model. | +| Dubious member name "operator void**" in summary model. | | Dubious member name "operator&" in summary model. | | Dubious member name "operator*" in summary model. | | Dubious member name "operator+" in summary model. | | Dubious member name "operator+=" in summary model. | | Dubious member name "operator->" in summary model. | | Dubious member name "operator=" in summary model. | +| Dubious member name "operator=" in summary model. | | Dubious member name "operator[]" in summary model. | | Dubious signature "(..(*)(..))" in summary model. | | Dubious signature "(..(*)(..),..(*)(..),..(*)(..),..(*)(..))" in summary model. | @@ -2497,6 +2499,7 @@ | Dubious signature "(TS_VERIFY_CTX *,unsigned char *,long)" in summary model. | | Dubious signature "(TXT_DB *,OPENSSL_STRING *)" in summary model. | | Dubious signature "(TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC)" in summary model. | +| Dubious signature "(U *)" in summary model. | | Dubious signature "(UI *)" in summary model. | | Dubious signature "(UI *,UI_STRING *,const char *)" in summary model. | | Dubious signature "(UI *,UI_STRING *,const char *,int)" in summary model. | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp index 7cf0351f804..aff51f62964 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/atl.cpp @@ -1421,41 +1421,41 @@ void test_address_of_deref_operators() { Microsoft::WRL::ComPtr p1(new int(x)); Microsoft::WRL::Details::ComPtrRef> pp = &p1; Microsoft::WRL::ComPtr* qq = *pp; - sink(*qq->Get()); // $ MISSING: ast,ir + sink(*qq->Get()); // $ ir MISSING: ast const Microsoft::WRL::ComPtr p2(new int(x)); Microsoft::WRL::Details::ComPtrRef> pp2 = &p2; const Microsoft::WRL::ComPtr* qq2 = *pp2; - sink(*qq2->Get()); // $ MISSING: ast,ir + sink(*qq2->Get()); // $ ir MISSING: ast S s; s.x = source(); Microsoft::WRL::ComPtr p3(&s); - sink(p3->x); // $ MISSING: ast,ir + sink(p3->x); // $ ir MISSING: ast } void test_assignments() { Microsoft::WRL::ComPtr p1; p1 = new int(source()); - sink(*p1.Get()); // $ MISSING: ast,ir + sink(*p1.Get()); // $ ir MISSING: ast Microsoft::WRL::ComPtr p2; p2 = new long(source()); - sink(*p2.Get()); // $ MISSING: ast,ir + sink(*p2.Get()); // $ ir MISSING: ast Microsoft::WRL::ComPtr p3; p3 = p1; - sink(*p3.Get()); // $ MISSING: ast,ir + sink(*p3.Get()); // $ ir MISSING: ast Microsoft::WRL::ComPtr p4; p4 = p1; - sink(*p4.Get()); // $ MISSING: ast,ir + sink(*p4.Get()); // $ ir MISSING: ast Microsoft::WRL::ComPtr p5; p5 = std::move(p1); - sink(*p5.Get()); // $ MISSING: ast,ir + sink(*p5.Get()); // $ ir MISSING: ast Microsoft::WRL::ComPtr p6; p6 = std::move(p1); - sink(*p6.Get()); // $ MISSING: ast,ir + sink(*p6.Get()); // $ ir MISSING: ast } \ No newline at end of file diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected index 678356c1763..846359fd6b2 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected @@ -5568,20 +5568,30 @@ signatureMatches | atl.cpp:1231:5:1231:12 | CStrBufT | (unsigned char *,int,unsigned long) | | UTF8_putc | 1 | | atl.cpp:1231:5:1231:12 | CStrBufT | (unsigned char *,int,unsigned long) | | UTF8_putc | 2 | | atl.cpp:1286:5:1286:10 | ComPtr | (const ComPtr &) | ComPtr | ComPtr | 0 | +| atl.cpp:1286:5:1286:10 | ComPtr | (const ComPtr &) | ComPtr | operator= | 0 | | atl.cpp:1287:5:1287:10 | ComPtr | (ComPtr &&) | ComPtr | ComPtr | 0 | +| atl.cpp:1287:5:1287:10 | ComPtr | (ComPtr &&) | ComPtr | operator= | 0 | | atl.cpp:1290:5:1290:10 | ComPtr | (T *) | ComPtr | ComPtr | 0 | | atl.cpp:1290:5:1290:10 | ComPtr | (T *) | ComPtr | ComPtr | 0 | +| atl.cpp:1290:5:1290:10 | ComPtr | (U *) | ComPtr | operator= | 0 | +| atl.cpp:1290:5:1290:10 | ComPtr | (U *) | ComPtr | operator= | 0 | | atl.cpp:1301:13:1301:18 | CopyTo | (T **) | ComPtr | CopyTo | 0 | | atl.cpp:1303:13:1303:18 | CopyTo | (Curl_easy *,void **) | | Curl_resolver_init | 1 | | atl.cpp:1303:13:1303:18 | CopyTo | (REFIID,void **) | ComPtr | CopyTo | 0 | | atl.cpp:1303:13:1303:18 | CopyTo | (REFIID,void **) | ComPtr | CopyTo | 1 | | atl.cpp:1303:13:1303:18 | CopyTo | (size_t,void **) | | __libc_alloc_buffer_allocate | 1 | | atl.cpp:1306:13:1306:18 | CopyTo | (T **) | ComPtr | CopyTo | 0 | +| atl.cpp:1328:13:1328:21 | operator= | (T *) | ComPtr | operator= | 0 | | atl.cpp:1330:13:1330:21 | operator= | (T *) | ComPtr | ComPtr | 0 | +| atl.cpp:1330:13:1330:21 | operator= | (U *) | ComPtr | operator= | 0 | | atl.cpp:1331:13:1331:21 | operator= | (const ComPtr &) | ComPtr | ComPtr | 0 | +| atl.cpp:1331:13:1331:21 | operator= | (const ComPtr &) | ComPtr | operator= | 0 | | atl.cpp:1333:13:1333:21 | operator= | (const ComPtr &) | ComPtr | ComPtr | 0 | +| atl.cpp:1333:13:1333:21 | operator= | (const ComPtr &) | ComPtr | operator= | 0 | | atl.cpp:1334:13:1334:21 | operator= | (ComPtr &&) | ComPtr | ComPtr | 0 | +| atl.cpp:1334:13:1334:21 | operator= | (ComPtr &&) | ComPtr | operator= | 0 | | atl.cpp:1336:13:1336:21 | operator= | (ComPtr &&) | ComPtr | ComPtr | 0 | +| atl.cpp:1336:13:1336:21 | operator= | (ComPtr &&) | ComPtr | operator= | 0 | | bsd.cpp:12:5:12:10 | accept | (CURLM *,curl_socket_t,int *) | | curl_multi_socket | 2 | | bsd.cpp:12:5:12:10 | accept | (Curl_easy *,ssize_t *,int *) | | Curl_GetFTPResponse | 2 | | bsd.cpp:12:5:12:10 | accept | (EVP_CIPHER_CTX *,unsigned char *,int *) | | EVP_CipherFinal | 2 | @@ -9401,6 +9411,8 @@ signatureMatches | stl.h:333:42:333:47 | insert | (const_iterator,InputIt,InputIt) | vector | insert | 2 | | stl.h:333:42:333:47 | insert | (const_iterator,InputIt,InputIt) | vector | insert | 2 | | stl.h:335:37:335:43 | emplace | (format_string,Args &&) | | format | 1 | +| stl.h:351:12:351:21 | shared_ptr | (T *) | ComPtr | operator= | 0 | +| stl.h:369:12:369:21 | unique_ptr | (T *) | ComPtr | operator= | 0 | | stl.h:396:3:396:3 | pair | (const deque &,const Allocator &) | deque | deque | 1 | | stl.h:396:3:396:3 | pair | (const deque &,const Allocator &) | deque | deque | 1 | | stl.h:396:3:396:3 | pair | (const deque &,const Allocator &) | deque | deque | 1 | @@ -21766,6 +21778,7 @@ getSignatureParameterName | (CURLU *,const char *,char **,OperationConfig *) | | ipfs_url_rewrite | 2 | char ** | | (CURLU *,const char *,char **,OperationConfig *) | | ipfs_url_rewrite | 3 | OperationConfig * | | (ComPtr &&) | ComPtr | ComPtr | 0 | ComPtr && | +| (ComPtr &&) | ComPtr | operator= | 0 | ComPtr && | | (CompoundDictionary *,const PreparedDictionary *) | | AttachPreparedDictionary | 0 | CompoundDictionary * | | (CompoundDictionary *,const PreparedDictionary *) | | AttachPreparedDictionary | 1 | const PreparedDictionary * | | (Curl_cfilter *) | | Curl_conn_cf_is_ssl | 0 | Curl_cfilter * | @@ -30182,6 +30195,7 @@ getSignatureParameterName | (Strtab *,size_t *) | | strtabfinalize | 0 | Strtab * | | (Strtab *,size_t *) | | strtabfinalize | 1 | size_t * | | (T *) | ComPtr | ComPtr | 0 | func:0 * | +| (T *) | ComPtr | operator= | 0 | class:0 * | | (T **) | ComPtr | CopyTo | 0 | func:0 ** | | (T **) | ComPtr | CopyTo | 0 | class:0 ** | | (TLS_FEATURE *) | | TLS_FEATURE_free | 0 | TLS_FEATURE * | @@ -30376,6 +30390,7 @@ getSignatureParameterName | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 2 | ..(*)(..) | | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 3 | OPENSSL_LH_HASHFUNC | | (TXT_DB *,int,..(*)(..),OPENSSL_LH_HASHFUNC,OPENSSL_LH_COMPFUNC) | | TXT_DB_create_index | 4 | OPENSSL_LH_COMPFUNC | +| (U *) | ComPtr | operator= | 0 | func:0 * | | (UI *) | | UI_get0_user_data | 0 | UI * | | (UI *) | | UI_get_method | 0 | UI * | | (UI *,UI_STRING *,const char *) | | UI_set_result | 0 | UI * | @@ -33327,6 +33342,7 @@ getSignatureParameterName | (const CURLU *,CURLUPart,char **,unsigned int) | | curl_url_get | 2 | char ** | | (const CURLU *,CURLUPart,char **,unsigned int) | | curl_url_get | 3 | unsigned int | | (const ComPtr &) | ComPtr | ComPtr | 0 | const ComPtr & | +| (const ComPtr &) | ComPtr | operator= | 0 | const ComPtr & | | (const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *) | | BrotliBuildHistogramsWithContext | 0 | const Command * | | (const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *) | | BrotliBuildHistogramsWithContext | 1 | const size_t | | (const Command *,const size_t,const BlockSplit *,const BlockSplit *,const BlockSplit *,const uint8_t *,size_t,size_t,uint8_t,uint8_t,const ContextType *,HistogramLiteral *,HistogramCommand *,HistogramDistance *) | | BrotliBuildHistogramsWithContext | 2 | const BlockSplit * |