From 1f09f713b91a9227acd3e67adf2c3e67cdde7b34 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 20 Jun 2025 11:42:10 +0200 Subject: [PATCH] Rust: Avoid overlapping path resolution consistency checks --- .../PathResolutionConsistency.ql | 15 +- .../internal/PathResolutionConsistency.qll | 8 +- .../PathResolutionConsistency.expected | 13 - .../PathResolutionConsistency.expected | 10 +- .../PathResolutionConsistency.expected | 2 + .../PathResolutionConsistency.expected | 18 +- .../PathResolutionConsistency.expected | 189 ++++--- .../PathResolutionConsistency.expected | 13 +- .../PathResolutionConsistency.expected | 13 - .../PathResolutionConsistency.expected | 14 +- .../PathResolutionConsistency.expected | 80 +-- .../PathResolutionConsistency.expected | 5 +- .../PathResolutionConsistency.expected | 16 +- .../PathResolutionConsistency.expected | 9 +- .../PathResolutionConsistency.expected | 71 +-- .../PathResolutionConsistency.expected | 461 +++--------------- .../PathResolutionConsistency.expected | 11 +- .../PathResolutionConsistency.expected | 13 - .../PathResolutionConsistency.expected | 13 - .../PathResolutionConsistency.expected | 39 +- .../PathResolutionConsistency.expected | 49 +- .../PathResolutionConsistency.expected | 30 +- .../PathResolutionConsistency.expected | 37 +- 23 files changed, 285 insertions(+), 844 deletions(-) delete mode 100644 rust/ql/test/extractor-tests/crate_graph/CONSISTENCY/PathResolutionConsistency.expected create mode 100644 rust/ql/test/library-tests/dataflow/global/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/frameworks/postgres/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-327/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/query-tests/security/CWE-328/CONSISTENCY/PathResolutionConsistency.expected diff --git a/rust/ql/consistency-queries/PathResolutionConsistency.ql b/rust/ql/consistency-queries/PathResolutionConsistency.ql index db93f4b2860a..3b2165b712f3 100644 --- a/rust/ql/consistency-queries/PathResolutionConsistency.ql +++ b/rust/ql/consistency-queries/PathResolutionConsistency.ql @@ -10,22 +10,17 @@ private import codeql.rust.internal.PathResolution private import codeql.rust.internal.PathResolutionConsistency as PathResolutionConsistency private import codeql.rust.elements.Locatable private import codeql.Locations -import PathResolutionConsistency class SourceLocatable extends Locatable { - Location getLocation() { - if super.getLocation().fromSource() - then result = super.getLocation() - else result instanceof EmptyLocation - } + SourceLocatable() { this.fromSource() } } -query predicate multipleMethodCallTargets(SourceLocatable a, SourceLocatable b) { - PathResolutionConsistency::multipleMethodCallTargets(a, b) +query predicate multipleCallTargets(SourceLocatable a) { + PathResolutionConsistency::multipleCallTargets(a, _) } -query predicate multiplePathResolutions(SourceLocatable a, SourceLocatable b) { - PathResolutionConsistency::multiplePathResolutions(a, b) +query predicate multiplePathResolutions(SourceLocatable a) { + PathResolutionConsistency::multiplePathResolutions(a, _) } query predicate multipleCanonicalPaths(SourceLocatable i, SourceLocatable c, string path) { diff --git a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll index 2175dea37133..9b7131b7a7ff 100644 --- a/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/PathResolutionConsistency.qll @@ -17,11 +17,13 @@ query predicate multiplePathResolutions(Path p, ItemNode i) { not use.isGlob() and not use.hasUseTreeList() ).getPath() and + // avoid overlap with `multipleCallTargets` below + not p = any(CallExpr ce).getFunction().(PathExpr).getPath() and strictcount(resolvePath(p)) > 1 } /** Holds if `call` has multiple static call targets including `target`. */ -query predicate multipleMethodCallTargets(MethodCallExpr call, Callable target) { +query predicate multipleCallTargets(CallExprBase call, Callable target) { target = call.getStaticTarget() and strictcount(call.getStaticTarget()) > 1 } @@ -51,8 +53,8 @@ int getPathResolutionInconsistencyCounts(string type) { type = "Multiple path resolutions" and result = count(Path p | multiplePathResolutions(p, _) | p) or - type = "Multiple static method call targets" and - result = count(CallExprBase call | multipleMethodCallTargets(call, _) | call) + type = "Multiple static call targets" and + result = count(CallExprBase call | multipleCallTargets(call, _) | call) or type = "Multiple record fields" and result = count(FieldExpr fe | multipleStructFields(fe, _) | fe) diff --git a/rust/ql/test/extractor-tests/crate_graph/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/extractor-tests/crate_graph/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 0aa771632529..000000000000 --- a/rust/ql/test/extractor-tests/crate_graph/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,13 +0,0 @@ -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | diff --git a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/PathResolutionConsistency.expected index fcaa6dda1dc7..deb5ac66914c 100644 --- a/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/extractor-tests/macro-expansion/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,9 @@ +multipleCallTargets +| proc_macro.rs:16:12:16:16 | ...::to_tokens(...) | +| proc_macro.rs:26:10:26:12 | ...::to_tokens(...) | +| proc_macro.rs:27:10:27:16 | ...::to_tokens(...) | +| proc_macro.rs:42:16:42:26 | ...::to_tokens(...) | +| proc_macro.rs:44:27:44:30 | ...::to_tokens(...) | +| proc_macro.rs:46:18:46:28 | ...::to_tokens(...) | multiplePathResolutions -| macro_expansion.rs:1:5:1:14 | proc_macro | file://:0:0:0:0 | Crate(proc_macro@0.0.0) | -| macro_expansion.rs:1:5:1:14 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | +| macro_expansion.rs:1:5:1:14 | proc_macro | diff --git a/rust/ql/test/library-tests/dataflow/global/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/global/CONSISTENCY/PathResolutionConsistency.expected new file mode 100644 index 000000000000..9ba640cff8dc --- /dev/null +++ b/rust/ql/test/library-tests/dataflow/global/CONSISTENCY/PathResolutionConsistency.expected @@ -0,0 +1,2 @@ +multipleCallTargets +| main.rs:225:14:225:29 | ...::deref(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected index b9ee72e892bd..330c8673560f 100644 --- a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/PathResolutionConsistency.expected @@ -1,15 +1,3 @@ -multiplePathResolutions -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:532:10:532:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:538:10:538:18 | ...::from | file://:0:0:0:0 | fn from | +multipleCallTargets +| main.rs:532:10:532:21 | ...::from(...) | +| main.rs:538:10:538:21 | ...::from(...) | diff --git a/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected index e7649be55f99..19013601cdf4 100644 --- a/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/sources/CONSISTENCY/PathResolutionConsistency.expected @@ -1,105 +1,84 @@ -multipleMethodCallTargets -| test.rs:618:25:618:49 | address.to_socket_addrs() | file://:0:0:0:0 | fn to_socket_addrs | -| test.rs:618:25:618:49 | address.to_socket_addrs() | file://:0:0:0:0 | fn to_socket_addrs | -| test_futures_io.rs:35:26:35:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:35:26:35:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:35:26:35:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:62:22:62:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| test_futures_io.rs:62:22:62:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| test_futures_io.rs:69:23:69:67 | ... .poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| test_futures_io.rs:69:23:69:67 | ... .poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| test_futures_io.rs:93:26:93:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:93:26:93:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:93:26:93:63 | pinned.poll_read(...) | file://:0:0:0:0 | fn poll_read | -| test_futures_io.rs:116:22:116:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| test_futures_io.rs:116:22:116:50 | pinned.poll_fill_buf(...) | file://:0:0:0:0 | fn poll_fill_buf | -| web_frameworks.rs:101:14:101:23 | a.as_str() | file://:0:0:0:0 | fn as_str | -| web_frameworks.rs:101:14:101:23 | a.as_str() | file://:0:0:0:0 | fn as_str | -| web_frameworks.rs:102:14:102:25 | a.as_bytes() | file://:0:0:0:0 | fn as_bytes | -| web_frameworks.rs:102:14:102:25 | a.as_bytes() | file://:0:0:0:0 | fn as_bytes | -multiplePathResolutions -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:112:62:112:73 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:119:58:119:69 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:777:23:777:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test.rs:777:23:777:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test.rs:777:23:777:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test.rs:806:50:806:61 | ...::from | file://:0:0:0:0 | fn from | -| test_futures_io.rs:25:23:25:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test_futures_io.rs:25:23:25:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test_futures_io.rs:25:23:25:61 | ...::try_from | file://:0:0:0:0 | fn try_from | -| test_futures_io.rs:145:26:145:43 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | -| test_futures_io.rs:145:26:145:43 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | -| web_frameworks.rs:40:5:40:26 | ...::write_str | file://:0:0:0:0 | fn write_str | -| web_frameworks.rs:40:5:40:26 | ...::write_str | file://:0:0:0:0 | fn write_str | -| web_frameworks.rs:40:5:40:26 | ...::write_str | file://:0:0:0:0 | fn write_str | -| web_frameworks.rs:40:5:40:26 | ...::write_str | file://:0:0:0:0 | fn write_str | -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | +multipleCallTargets +| test.rs:98:14:98:43 | ...::_print(...) | +| test.rs:109:14:109:33 | ...::_print(...) | +| test.rs:112:62:112:77 | ...::from(...) | +| test.rs:119:58:119:73 | ...::from(...) | +| test.rs:135:22:135:43 | ...::_print(...) | +| test.rs:140:22:140:43 | ...::_print(...) | +| test.rs:144:22:144:44 | ...::_print(...) | +| test.rs:160:26:160:110 | ...::_print(...) | +| test.rs:168:26:168:111 | ...::_print(...) | +| test.rs:178:30:178:68 | ...::_print(...) | +| test.rs:187:26:187:105 | ...::_print(...) | +| test.rs:609:18:609:38 | ...::_print(...) | +| test.rs:614:18:614:45 | ...::_print(...) | +| test.rs:618:25:618:49 | address.to_socket_addrs() | +| test.rs:632:38:632:42 | ...::_print(...) | +| test.rs:636:38:636:54 | ...::_print(...) | +| test.rs:641:38:641:51 | ...::_print(...) | +| test.rs:651:34:651:52 | ...::_print(...) | +| test.rs:670:14:670:43 | ...::_print(...) | +| test.rs:685:18:685:42 | ...::_print(...) | +| test.rs:689:18:689:42 | ...::_print(...) | +| test.rs:694:18:694:45 | ...::_print(...) | +| test.rs:701:30:701:34 | ...::_print(...) | +| test.rs:705:30:705:52 | ...::_print(...) | +| test.rs:714:30:714:43 | ...::_print(...) | +| test.rs:724:30:724:34 | ...::_print(...) | +| test.rs:728:30:728:52 | ...::_print(...) | +| test.rs:737:30:737:43 | ...::_print(...) | +| test.rs:752:14:752:43 | ...::_print(...) | +| test.rs:766:14:766:34 | ...::_print(...) | +| test.rs:777:23:777:80 | ...::try_from(...) | +| test.rs:806:50:806:66 | ...::from(...) | +| test.rs:806:50:806:66 | ...::from(...) | +| test.rs:808:14:808:31 | ...::_print(...) | +| test.rs:811:14:811:31 | ...::_print(...) | +| test.rs:814:14:814:31 | ...::_print(...) | +| test.rs:817:14:817:30 | ...::_print(...) | +| test.rs:819:27:819:36 | ...::_print(...) | +| test.rs:820:28:820:41 | ...::_print(...) | +| test.rs:823:14:823:33 | ...::_print(...) | +| test.rs:825:27:825:36 | ...::_print(...) | +| test.rs:826:28:826:41 | ...::_print(...) | +| test.rs:829:14:829:31 | ...::_print(...) | +| test.rs:831:27:831:36 | ...::_print(...) | +| test.rs:832:28:832:41 | ...::_print(...) | +| test.rs:835:14:835:34 | ...::_print(...) | +| test.rs:837:27:837:36 | ...::_print(...) | +| test.rs:838:28:838:41 | ...::_print(...) | +| test.rs:841:14:841:25 | ...::_print(...) | +| test.rs:843:27:843:36 | ...::_print(...) | +| test.rs:844:28:844:41 | ...::_print(...) | +| test.rs:847:14:847:31 | ...::_print(...) | +| test.rs:849:27:849:36 | ...::_print(...) | +| test.rs:850:28:850:41 | ...::_print(...) | +| test.rs:853:14:853:30 | ...::_print(...) | +| test.rs:855:27:855:36 | ...::_print(...) | +| test.rs:856:28:856:41 | ...::_print(...) | +| test.rs:859:14:859:33 | ...::_print(...) | +| test.rs:861:27:861:36 | ...::_print(...) | +| test.rs:862:28:862:41 | ...::_print(...) | +| test.rs:865:14:865:36 | ...::_print(...) | +| test.rs:867:27:867:36 | ...::_print(...) | +| test.rs:868:28:868:41 | ...::_print(...) | +| test.rs:871:14:871:38 | ...::_print(...) | +| test.rs:873:27:873:36 | ...::_print(...) | +| test.rs:874:28:874:41 | ...::_print(...) | +| test.rs:877:14:877:45 | ...::_print(...) | +| test.rs:879:27:879:36 | ...::_print(...) | +| test.rs:880:28:880:41 | ...::_print(...) | +| test.rs:883:14:883:29 | ...::_print(...) | +| test.rs:885:27:885:36 | ...::_print(...) | +| test.rs:886:28:886:41 | ...::_print(...) | +| test_futures_io.rs:25:23:25:80 | ...::try_from(...) | +| test_futures_io.rs:35:26:35:63 | pinned.poll_read(...) | +| test_futures_io.rs:62:22:62:50 | pinned.poll_fill_buf(...) | +| test_futures_io.rs:69:23:69:67 | ... .poll_fill_buf(...) | +| test_futures_io.rs:93:26:93:63 | pinned.poll_read(...) | +| test_futures_io.rs:116:22:116:50 | pinned.poll_fill_buf(...) | +| test_futures_io.rs:145:26:145:49 | ...::with_capacity(...) | +| web_frameworks.rs:40:5:40:26 | ...::write_str(...) | +| web_frameworks.rs:40:5:40:26 | ...::write_str(...) | +| web_frameworks.rs:101:14:101:23 | a.as_str() | +| web_frameworks.rs:102:14:102:25 | a.as_bytes() | diff --git a/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected index f08f15c3aef7..b6acd6b81a70 100644 --- a/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/strings/CONSISTENCY/PathResolutionConsistency.expected @@ -1,10 +1,3 @@ -multipleMethodCallTargets -| main.rs:64:16:64:25 | s.as_str() | file://:0:0:0:0 | fn as_str | -| main.rs:64:16:64:25 | s.as_str() | file://:0:0:0:0 | fn as_str | -multiplePathResolutions -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:52:14:52:25 | ...::from | file://:0:0:0:0 | fn from | +multipleCallTargets +| main.rs:52:14:52:29 | ...::from(...) | +| main.rs:64:16:64:25 | s.as_str() | diff --git a/rust/ql/test/library-tests/frameworks/postgres/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/frameworks/postgres/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 0aa771632529..000000000000 --- a/rust/ql/test/library-tests/frameworks/postgres/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,13 +0,0 @@ -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | diff --git a/rust/ql/test/library-tests/path-resolution/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/path-resolution/CONSISTENCY/PathResolutionConsistency.expected index c6d80a4c3959..e7483499ba76 100644 --- a/rust/ql/test/library-tests/path-resolution/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/path-resolution/CONSISTENCY/PathResolutionConsistency.expected @@ -1,9 +1,7 @@ +multipleCallTargets +| main.rs:118:9:118:11 | f(...) | +| proc_macro.rs:10:10:10:12 | ...::to_tokens(...) | multiplePathResolutions -| main.rs:118:9:118:9 | f | main.rs:104:5:106:5 | fn f | -| main.rs:118:9:118:9 | f | main.rs:110:5:112:5 | fn f | -| main.rs:626:3:626:12 | proc_macro | file://:0:0:0:0 | Crate(proc_macro@0.0.0) | -| main.rs:626:3:626:12 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | -| main.rs:632:7:632:16 | proc_macro | file://:0:0:0:0 | Crate(proc_macro@0.0.0) | -| main.rs:632:7:632:16 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | -| main.rs:635:7:635:16 | proc_macro | file://:0:0:0:0 | Crate(proc_macro@0.0.0) | -| main.rs:635:7:635:16 | proc_macro | proc_macro.rs:0:0:0:0 | Crate(proc_macro@0.0.1) | +| main.rs:626:3:626:12 | proc_macro | +| main.rs:632:7:632:16 | proc_macro | +| main.rs:635:7:635:16 | proc_macro | diff --git a/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected index 705ab1fefbcd..8e9d2afecd0c 100644 --- a/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/sensitivedata/CONSISTENCY/PathResolutionConsistency.expected @@ -1,53 +1,27 @@ -multipleMethodCallTargets -| test.rs:55:7:55:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:55:7:55:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:56:7:56:21 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:56:7:56:21 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:72:7:72:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:72:7:72:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:73:7:73:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:73:7:73:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:74:7:74:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:74:7:74:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:75:7:75:27 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:75:7:75:27 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:254:7:254:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:254:7:254:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:256:7:256:33 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:256:7:256:33 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:257:7:257:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:257:7:257:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:258:7:258:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:258:7:258:26 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:262:7:262:28 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:262:7:262:28 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:263:7:263:37 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:263:7:263:37 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:264:7:264:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:264:7:264:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:267:7:267:32 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:267:7:267:32 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:277:7:277:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:277:7:277:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:280:7:280:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:280:7:280:36 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:284:7:284:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:284:7:284:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:291:7:291:53 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:291:7:291:53 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:292:7:292:45 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:292:7:292:45 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:294:7:294:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:294:7:294:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:295:7:295:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:295:7:295:34 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:296:7:296:42 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:296:7:296:42 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:298:7:298:48 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:298:7:298:48 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:299:7:299:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:299:7:299:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:300:7:300:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:300:7:300:35 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:339:7:339:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | -| test.rs:339:7:339:39 | ... .as_str() | file://:0:0:0:0 | fn as_str | +multipleCallTargets +| test.rs:55:7:55:26 | ... .as_str() | +| test.rs:56:7:56:21 | ... .as_str() | +| test.rs:72:7:72:26 | ... .as_str() | +| test.rs:73:7:73:36 | ... .as_str() | +| test.rs:74:7:74:34 | ... .as_str() | +| test.rs:75:7:75:27 | ... .as_str() | +| test.rs:254:7:254:36 | ... .as_str() | +| test.rs:256:7:256:33 | ... .as_str() | +| test.rs:257:7:257:36 | ... .as_str() | +| test.rs:258:7:258:26 | ... .as_str() | +| test.rs:262:7:262:28 | ... .as_str() | +| test.rs:263:7:263:37 | ... .as_str() | +| test.rs:264:7:264:36 | ... .as_str() | +| test.rs:267:7:267:32 | ... .as_str() | +| test.rs:277:7:277:34 | ... .as_str() | +| test.rs:280:7:280:36 | ... .as_str() | +| test.rs:284:7:284:39 | ... .as_str() | +| test.rs:291:7:291:53 | ... .as_str() | +| test.rs:292:7:292:45 | ... .as_str() | +| test.rs:294:7:294:39 | ... .as_str() | +| test.rs:295:7:295:34 | ... .as_str() | +| test.rs:296:7:296:42 | ... .as_str() | +| test.rs:298:7:298:48 | ... .as_str() | +| test.rs:299:7:299:35 | ... .as_str() | +| test.rs:300:7:300:35 | ... .as_str() | +| test.rs:339:7:339:39 | ... .as_str() | diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index 81551e369e2f..0b49270f7557 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -1,3 +1,2 @@ -multipleMethodCallTargets -| dereference.rs:61:15:61:24 | e1.deref() | file://:0:0:0:0 | fn deref | -| dereference.rs:61:15:61:24 | e1.deref() | file://:0:0:0:0 | fn deref | +multipleCallTargets +| dereference.rs:61:15:61:24 | e1.deref() | diff --git a/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected index 82fc38ae2fac..b95bb1ccc856 100644 --- a/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/variables/CONSISTENCY/PathResolutionConsistency.expected @@ -1,13 +1,3 @@ -multiplePathResolutions -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:85:19:85:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:102:19:102:30 | ...::from | file://:0:0:0:0 | fn from | +multipleCallTargets +| main.rs:85:19:85:40 | ...::from(...) | +| main.rs:102:19:102:40 | ...::from(...) | diff --git a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/PathResolutionConsistency.expected index 8e261e296765..bb60014263b3 100644 --- a/rust/ql/test/query-tests/diagnostics/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/diagnostics/CONSISTENCY/PathResolutionConsistency.expected @@ -1,7 +1,2 @@ -multiplePathResolutions -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | -| my_struct.rs:25:19:25:30 | ...::from | file://:0:0:0:0 | fn from | +multipleCallTargets +| my_struct.rs:25:19:25:37 | ...::from(...) | diff --git a/rust/ql/test/query-tests/security/CWE-022/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-022/CONSISTENCY/PathResolutionConsistency.expected index abeca72b3514..6ad645852f2d 100644 --- a/rust/ql/test/query-tests/security/CWE-022/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-022/CONSISTENCY/PathResolutionConsistency.expected @@ -1,62 +1,9 @@ -multiplePathResolutions -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:8:21:8:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:19:21:19:33 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:25:23:25:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:26:38:26:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:39:23:39:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:40:38:40:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:52:23:52:35 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -| src/main.rs:53:38:53:50 | ...::from | file://:0:0:0:0 | fn from | -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | +multipleCallTargets +| src/main.rs:8:21:8:44 | ...::from(...) | +| src/main.rs:19:21:19:44 | ...::from(...) | +| src/main.rs:25:23:25:59 | ...::from(...) | +| src/main.rs:26:38:26:61 | ...::from(...) | +| src/main.rs:39:23:39:59 | ...::from(...) | +| src/main.rs:40:38:40:61 | ...::from(...) | +| src/main.rs:52:23:52:59 | ...::from(...) | +| src/main.rs:53:38:53:61 | ...::from(...) | diff --git a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected index 598e52f932c1..cc35fcfde215 100644 --- a/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-089/CONSISTENCY/PathResolutionConsistency.expected @@ -1,383 +1,78 @@ -multipleMethodCallTargets -| sqlx.rs:64:26:64:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:64:26:64:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:65:26:65:46 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:65:26:65:46 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:70:30:70:52 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:70:30:70:52 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:75:25:75:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:75:25:75:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:76:25:76:45 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:76:25:76:45 | safe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:81:29:81:51 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:81:29:81:51 | unsafe_query_3.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:84:25:84:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:84:25:84:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:85:25:85:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:85:25:85:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:87:29:87:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:87:29:87:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:88:29:88:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:88:29:88:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:106:26:106:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:106:26:106:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:108:30:108:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:108:30:108:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:111:27:111:47 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:111:27:111:47 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:113:31:113:53 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:113:31:113:53 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:117:25:117:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:117:25:117:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:118:25:118:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:118:25:118:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:120:29:120:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:120:29:120:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:121:29:121:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:121:29:121:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:124:25:124:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:124:25:124:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:125:25:125:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:125:25:125:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:127:29:127:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:127:29:127:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:128:29:128:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:128:29:128:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:131:54:131:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:131:54:131:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:133:54:133:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:133:54:133:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:136:55:136:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:136:55:136:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:137:55:137:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:137:55:137:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:140:54:140:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:140:54:140:74 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:142:54:142:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:142:54:142:78 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:145:55:145:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:145:55:145:77 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:146:55:146:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:146:55:146:79 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:149:25:149:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:149:25:149:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:150:25:150:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:150:25:150:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:153:29:153:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:153:29:153:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:154:29:154:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:154:29:154:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:179:26:179:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:179:26:179:46 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:181:30:181:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:181:30:181:52 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:185:25:185:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:185:25:185:45 | safe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:186:25:186:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:186:25:186:49 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:188:29:188:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:188:29:188:51 | unsafe_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:189:29:189:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -| sqlx.rs:189:29:189:53 | prepared_query_1.as_str() | file://:0:0:0:0 | fn as_str | -multiplePathResolutions -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:46:24:46:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:47:56:47:67 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:48:97:48:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:50:24:50:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:51:24:51:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:55:26:55:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:61:28:61:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:99:24:99:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:100:97:100:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:101:24:101:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:102:26:102:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:103:28:103:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:172:24:172:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:173:97:173:108 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:174:24:174:35 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:175:26:175:37 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:176:28:176:39 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -| sqlx.rs:202:57:202:68 | ...::from | file://:0:0:0:0 | fn from | -multipleCanonicalPaths -| file://:0:0:0:0 | fn encode | file://:0:0:0:0 | Crate(core@0.0.0) | ::encode | -| file://:0:0:0:0 | fn encode | file://:0:0:0:0 | Crate(core@0.0.0) | ::encode | -| file://:0:0:0:0 | fn encode_by_ref | file://:0:0:0:0 | Crate(core@0.0.0) | ::encode_by_ref | -| file://:0:0:0:0 | fn encode_by_ref | file://:0:0:0:0 | Crate(core@0.0.0) | ::encode_by_ref | -| file://:0:0:0:0 | fn produces | file://:0:0:0:0 | Crate(core@0.0.0) | ::produces | -| file://:0:0:0:0 | fn produces | file://:0:0:0:0 | Crate(core@0.0.0) | ::produces | -| file://:0:0:0:0 | fn size_hint | file://:0:0:0:0 | Crate(core@0.0.0) | ::size_hint | -| file://:0:0:0:0 | fn size_hint | file://:0:0:0:0 | Crate(core@0.0.0) | ::size_hint | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl ...::Encode::<...> for Option::<...> { ... } | file://:0:0:0:0 | Crate(core@0.0.0) | | -| file://:0:0:0:0 | impl ...::Encode::<...> for Option::<...> { ... } | file://:0:0:0:0 | Crate(core@0.0.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | +multipleCallTargets +| sqlx.rs:46:24:46:44 | ...::from(...) | +| sqlx.rs:47:56:47:76 | ...::from(...) | +| sqlx.rs:48:97:48:117 | ...::from(...) | +| sqlx.rs:50:24:50:83 | ...::from(...) | +| sqlx.rs:51:24:51:77 | ...::from(...) | +| sqlx.rs:55:26:55:79 | ...::from(...) | +| sqlx.rs:61:28:61:81 | ...::from(...) | +| sqlx.rs:64:26:64:46 | safe_query_1.as_str() | +| sqlx.rs:65:26:65:46 | safe_query_2.as_str() | +| sqlx.rs:67:26:67:48 | unsafe_query_1.as_str() | +| sqlx.rs:69:30:69:52 | unsafe_query_2.as_str() | +| sqlx.rs:70:30:70:52 | unsafe_query_3.as_str() | +| sqlx.rs:75:25:75:45 | safe_query_1.as_str() | +| sqlx.rs:76:25:76:45 | safe_query_2.as_str() | +| sqlx.rs:78:25:78:47 | unsafe_query_1.as_str() | +| sqlx.rs:80:29:80:51 | unsafe_query_2.as_str() | +| sqlx.rs:81:29:81:51 | unsafe_query_3.as_str() | +| sqlx.rs:84:25:84:49 | prepared_query_1.as_str() | +| sqlx.rs:85:25:85:49 | prepared_query_1.as_str() | +| sqlx.rs:87:29:87:53 | prepared_query_1.as_str() | +| sqlx.rs:88:29:88:53 | prepared_query_1.as_str() | +| sqlx.rs:99:24:99:44 | ...::from(...) | +| sqlx.rs:100:97:100:117 | ...::from(...) | +| sqlx.rs:101:24:101:77 | ...::from(...) | +| sqlx.rs:102:26:102:79 | ...::from(...) | +| sqlx.rs:103:28:103:81 | ...::from(...) | +| sqlx.rs:106:26:106:46 | safe_query_1.as_str() | +| sqlx.rs:108:30:108:52 | unsafe_query_1.as_str() | +| sqlx.rs:111:27:111:47 | safe_query_1.as_str() | +| sqlx.rs:113:31:113:53 | unsafe_query_1.as_str() | +| sqlx.rs:117:25:117:45 | safe_query_1.as_str() | +| sqlx.rs:118:25:118:49 | prepared_query_1.as_str() | +| sqlx.rs:120:29:120:51 | unsafe_query_1.as_str() | +| sqlx.rs:121:29:121:53 | prepared_query_1.as_str() | +| sqlx.rs:124:25:124:45 | safe_query_1.as_str() | +| sqlx.rs:125:25:125:49 | prepared_query_1.as_str() | +| sqlx.rs:127:29:127:51 | unsafe_query_1.as_str() | +| sqlx.rs:128:29:128:53 | prepared_query_1.as_str() | +| sqlx.rs:131:54:131:74 | safe_query_1.as_str() | +| sqlx.rs:132:14:132:34 | ...::_print(...) | +| sqlx.rs:133:54:133:78 | prepared_query_1.as_str() | +| sqlx.rs:134:14:134:34 | ...::_print(...) | +| sqlx.rs:136:55:136:77 | unsafe_query_1.as_str() | +| sqlx.rs:137:55:137:79 | prepared_query_1.as_str() | +| sqlx.rs:140:54:140:74 | safe_query_1.as_str() | +| sqlx.rs:141:14:141:34 | ...::_print(...) | +| sqlx.rs:142:54:142:78 | prepared_query_1.as_str() | +| sqlx.rs:143:14:143:34 | ...::_print(...) | +| sqlx.rs:145:55:145:77 | unsafe_query_1.as_str() | +| sqlx.rs:146:55:146:79 | prepared_query_1.as_str() | +| sqlx.rs:149:25:149:45 | safe_query_1.as_str() | +| sqlx.rs:150:25:150:49 | prepared_query_1.as_str() | +| sqlx.rs:153:29:153:51 | unsafe_query_1.as_str() | +| sqlx.rs:154:29:154:53 | prepared_query_1.as_str() | +| sqlx.rs:172:24:172:44 | ...::from(...) | +| sqlx.rs:173:97:173:117 | ...::from(...) | +| sqlx.rs:174:24:174:77 | ...::from(...) | +| sqlx.rs:175:26:175:79 | ...::from(...) | +| sqlx.rs:176:28:176:82 | ...::from(...) | +| sqlx.rs:179:26:179:46 | safe_query_1.as_str() | +| sqlx.rs:181:30:181:52 | unsafe_query_1.as_str() | +| sqlx.rs:185:25:185:45 | safe_query_1.as_str() | +| sqlx.rs:186:25:186:49 | prepared_query_1.as_str() | +| sqlx.rs:188:29:188:51 | unsafe_query_1.as_str() | +| sqlx.rs:189:29:189:53 | prepared_query_1.as_str() | +| sqlx.rs:196:14:196:43 | ...::_print(...) | +| sqlx.rs:202:57:202:85 | ...::from(...) | +| sqlx.rs:203:14:203:46 | ...::_print(...) | +| sqlx.rs:205:14:205:33 | ...::_print(...) | +| sqlx.rs:207:27:207:41 | ...::_print(...) | +| sqlx.rs:208:28:208:43 | ...::_print(...) | +| sqlx.rs:211:14:211:34 | ...::_print(...) | +| sqlx.rs:213:27:213:41 | ...::_print(...) | +| sqlx.rs:214:28:214:43 | ...::_print(...) | +| sqlx.rs:217:14:217:36 | ...::_print(...) | +| sqlx.rs:219:27:219:41 | ...::_print(...) | +| sqlx.rs:220:28:220:43 | ...::_print(...) | diff --git a/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected index 36e75877d2be..9d66941b0792 100644 --- a/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-312/CONSISTENCY/PathResolutionConsistency.expected @@ -1,7 +1,4 @@ -multipleMethodCallTargets -| test_logging.rs:77:20:77:36 | password.as_str() | file://:0:0:0:0 | fn as_str | -| test_logging.rs:77:20:77:36 | password.as_str() | file://:0:0:0:0 | fn as_str | -| test_logging.rs:78:22:78:38 | password.as_str() | file://:0:0:0:0 | fn as_str | -| test_logging.rs:78:22:78:38 | password.as_str() | file://:0:0:0:0 | fn as_str | -| test_logging.rs:88:18:88:34 | password.as_str() | file://:0:0:0:0 | fn as_str | -| test_logging.rs:88:18:88:34 | password.as_str() | file://:0:0:0:0 | fn as_str | +multipleCallTargets +| test_logging.rs:77:20:77:36 | password.as_str() | +| test_logging.rs:78:22:78:38 | password.as_str() | +| test_logging.rs:88:18:88:34 | password.as_str() | diff --git a/rust/ql/test/query-tests/security/CWE-327/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-327/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 0aa771632529..000000000000 --- a/rust/ql/test/query-tests/security/CWE-327/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,13 +0,0 @@ -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | diff --git a/rust/ql/test/query-tests/security/CWE-328/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-328/CONSISTENCY/PathResolutionConsistency.expected deleted file mode 100644 index 0aa771632529..000000000000 --- a/rust/ql/test/query-tests/security/CWE-328/CONSISTENCY/PathResolutionConsistency.expected +++ /dev/null @@ -1,13 +0,0 @@ -multipleCanonicalPaths -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | fn to_ordering | file://:0:0:0:0 | Crate(typenum@1.18.0) | ::to_ordering | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Equal { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Greater { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | -| file://:0:0:0:0 | impl Ord for Less { ... } | file://:0:0:0:0 | Crate(typenum@1.18.0) | | diff --git a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected index 5fb57b10c01f..7c37a0082680 100644 --- a/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-696/CONSISTENCY/PathResolutionConsistency.expected @@ -1,27 +1,14 @@ multiplePathResolutions -| test.rs:50:3:50:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:50:3:50:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:55:3:55:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:55:3:55:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:60:3:60:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:60:3:60:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:65:3:65:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:65:3:65:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:73:3:73:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:73:3:73:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:78:3:78:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:78:3:78:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:87:3:87:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:87:3:87:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:94:3:94:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:94:3:94:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:128:3:128:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:128:3:128:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:139:3:139:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:139:3:139:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:144:3:144:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:144:3:144:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:150:3:150:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:150:3:150:6 | ctor | file://:0:0:0:0 | fn ctor | -| test.rs:168:3:168:6 | ctor | file://:0:0:0:0 | Crate(ctor@0.2.9) | -| test.rs:168:3:168:6 | ctor | file://:0:0:0:0 | fn ctor | +| test.rs:50:3:50:6 | ctor | +| test.rs:55:3:55:6 | ctor | +| test.rs:60:3:60:6 | ctor | +| test.rs:65:3:65:6 | ctor | +| test.rs:73:3:73:6 | ctor | +| test.rs:78:3:78:6 | ctor | +| test.rs:87:3:87:6 | ctor | +| test.rs:94:3:94:6 | ctor | +| test.rs:128:3:128:6 | ctor | +| test.rs:139:3:139:6 | ctor | +| test.rs:144:3:144:6 | ctor | +| test.rs:150:3:150:6 | ctor | +| test.rs:168:3:168:6 | ctor | diff --git a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected index 4c01286c489c..6e88d5bdf866 100644 --- a/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-770/CONSISTENCY/PathResolutionConsistency.expected @@ -1,33 +1,18 @@ +multipleCallTargets +| main.rs:218:14:218:30 | ...::malloc(...) | +| main.rs:219:13:219:27 | ...::malloc(...) | +| main.rs:220:13:220:37 | ...::aligned_alloc(...) | +| main.rs:221:13:221:37 | ...::aligned_alloc(...) | +| main.rs:222:13:222:31 | ...::calloc(...) | +| main.rs:223:13:223:55 | ...::calloc(...) | +| main.rs:224:13:224:32 | ...::realloc(...) | +| main.rs:229:13:229:40 | ...::with_capacity(...) | +| main.rs:233:18:233:47 | ...::with_capacity(...) | multiplePathResolutions -| main.rs:218:14:218:17 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:218:14:218:17 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:218:14:218:25 | ...::malloc | file://:0:0:0:0 | fn malloc | -| main.rs:218:14:218:25 | ...::malloc | file://:0:0:0:0 | fn malloc | -| main.rs:219:13:219:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:219:13:219:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:219:13:219:24 | ...::malloc | file://:0:0:0:0 | fn malloc | -| main.rs:219:13:219:24 | ...::malloc | file://:0:0:0:0 | fn malloc | -| main.rs:220:13:220:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:220:13:220:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:220:13:220:31 | ...::aligned_alloc | file://:0:0:0:0 | fn aligned_alloc | -| main.rs:220:13:220:31 | ...::aligned_alloc | file://:0:0:0:0 | fn aligned_alloc | -| main.rs:221:13:221:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:221:13:221:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:221:13:221:31 | ...::aligned_alloc | file://:0:0:0:0 | fn aligned_alloc | -| main.rs:221:13:221:31 | ...::aligned_alloc | file://:0:0:0:0 | fn aligned_alloc | -| main.rs:222:13:222:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:222:13:222:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:222:13:222:24 | ...::calloc | file://:0:0:0:0 | fn calloc | -| main.rs:222:13:222:24 | ...::calloc | file://:0:0:0:0 | fn calloc | -| main.rs:223:13:223:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:223:13:223:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:223:13:223:24 | ...::calloc | file://:0:0:0:0 | fn calloc | -| main.rs:223:13:223:24 | ...::calloc | file://:0:0:0:0 | fn calloc | -| main.rs:224:13:224:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| main.rs:224:13:224:16 | libc | file://:0:0:0:0 | Crate(libc@0.2.174) | -| main.rs:224:13:224:25 | ...::realloc | file://:0:0:0:0 | fn realloc | -| main.rs:224:13:224:25 | ...::realloc | file://:0:0:0:0 | fn realloc | -| main.rs:229:13:229:37 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | -| main.rs:229:13:229:37 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | -| main.rs:233:18:233:42 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | -| main.rs:233:18:233:42 | ...::with_capacity | file://:0:0:0:0 | fn with_capacity | +| main.rs:218:14:218:17 | libc | +| main.rs:219:13:219:16 | libc | +| main.rs:220:13:220:16 | libc | +| main.rs:221:13:221:16 | libc | +| main.rs:222:13:222:16 | libc | +| main.rs:223:13:223:16 | libc | +| main.rs:224:13:224:16 | libc | diff --git a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected index c3a7f4451fb2..8a491037fbf9 100644 --- a/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/security/CWE-825/CONSISTENCY/PathResolutionConsistency.expected @@ -1,23 +1,9 @@ +multipleCallTargets +| deallocation.rs:106:16:106:32 | ...::malloc(...) | +| deallocation.rs:112:3:112:41 | ...::free(...) | +| deallocation.rs:260:11:260:29 | ...::from(...) | +| deallocation.rs:261:11:261:29 | ...::from(...) | multiplePathResolutions -| deallocation.rs:106:16:106:19 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| deallocation.rs:106:16:106:19 | libc | file://:0:0:0:0 | Crate(libc@0.2.173) | -| deallocation.rs:106:16:106:27 | ...::malloc | file://:0:0:0:0 | fn malloc | -| deallocation.rs:106:16:106:27 | ...::malloc | file://:0:0:0:0 | fn malloc | -| deallocation.rs:112:3:112:6 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| deallocation.rs:112:3:112:6 | libc | file://:0:0:0:0 | Crate(libc@0.2.173) | -| deallocation.rs:112:3:112:12 | ...::free | file://:0:0:0:0 | fn free | -| deallocation.rs:112:3:112:12 | ...::free | file://:0:0:0:0 | fn free | -| deallocation.rs:112:29:112:32 | libc | file://:0:0:0:0 | Crate(libc@0.2.172) | -| deallocation.rs:112:29:112:32 | libc | file://:0:0:0:0 | Crate(libc@0.2.173) | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:260:11:260:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | -| deallocation.rs:261:11:261:22 | ...::from | file://:0:0:0:0 | fn from | +| deallocation.rs:106:16:106:19 | libc | +| deallocation.rs:112:3:112:6 | libc | +| deallocation.rs:112:29:112:32 | libc | diff --git a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected index 8563020471c5..6f977f067dbb 100644 --- a/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/query-tests/unusedentities/CONSISTENCY/PathResolutionConsistency.expected @@ -1,31 +1,6 @@ -multiplePathResolutions -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:13:13:13:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| main.rs:14:13:14:24 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:165:20:165:31 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:171:9:171:17 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | -| unreachable.rs:177:9:177:26 | ...::from | file://:0:0:0:0 | fn from | +multipleCallTargets +| main.rs:13:13:13:29 | ...::from(...) | +| main.rs:14:13:14:29 | ...::from(...) | +| unreachable.rs:165:20:165:42 | ...::from(...) | +| unreachable.rs:171:9:171:17 | ...::from(...) | +| unreachable.rs:177:17:177:25 | ...::from(...) |