Skip to content

Commit e0d4e5e

Browse files
author
Paolo Tranquilli
committed
Rust: remove missing flow in test
1 parent bb90b67 commit e0d4e5e

File tree

2 files changed

+43
-30
lines changed

2 files changed

+43
-30
lines changed

rust/ql/test/library-tests/dataflow/strings/inline-taint-flow.expected

Lines changed: 37 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
models
2-
| 1 | Summary: lang:alloc; <crate::string::String as crate::convert::From>::from; Argument[0]; ReturnValue; value |
3-
| 2 | Summary: lang:alloc; <crate::string::String>::as_str; Argument[self]; ReturnValue; taint |
4-
| 3 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint |
5-
| 4 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value |
2+
| 1 | Summary: lang:alloc; <_ as crate::string::ToString>::to_string; Argument[self]; ReturnValue; taint |
3+
| 2 | Summary: lang:alloc; <crate::string::String as crate::convert::From>::from; Argument[0]; ReturnValue; value |
4+
| 3 | Summary: lang:alloc; <crate::string::String>::as_str; Argument[self]; ReturnValue; taint |
5+
| 4 | Summary: lang:alloc; crate::fmt::format; Argument[0]; ReturnValue; taint |
6+
| 5 | Summary: lang:core; crate::hint::must_use; Argument[0]; ReturnValue; value |
67
edges
78
| main.rs:26:9:26:9 | s | main.rs:27:19:27:25 | s[...] | provenance | |
89
| main.rs:26:13:26:22 | source(...) | main.rs:26:9:26:9 | s | provenance | |
@@ -12,41 +13,46 @@ edges
1213
| main.rs:32:9:32:10 | s1 | main.rs:35:9:35:10 | s4 | provenance | |
1314
| main.rs:32:14:32:23 | source(...) | main.rs:32:9:32:10 | s1 | provenance | |
1415
| main.rs:35:9:35:10 | s4 | main.rs:38:10:38:11 | s4 | provenance | |
15-
| main.rs:51:9:51:10 | s1 | main.rs:52:27:52:28 | s1 | provenance | |
16-
| main.rs:51:14:51:29 | source_slice(...) | main.rs:51:9:51:10 | s1 | provenance | |
17-
| main.rs:52:9:52:10 | s2 | main.rs:53:10:53:11 | s2 | provenance | |
18-
| main.rs:52:14:52:29 | ...::from(...) | main.rs:52:9:52:10 | s2 | provenance | |
19-
| main.rs:52:27:52:28 | s1 | main.rs:52:14:52:29 | ...::from(...) | provenance | MaD:1 |
16+
| main.rs:51:6:51:7 | s1 | main.rs:52:24:52:25 | s1 | provenance | |
17+
| main.rs:51:11:51:26 | source_slice(...) | main.rs:51:6:51:7 | s1 | provenance | |
18+
| main.rs:52:6:52:7 | s2 | main.rs:53:7:53:8 | s2 | provenance | |
19+
| main.rs:52:11:52:26 | ...::from(...) | main.rs:52:6:52:7 | s2 | provenance | |
20+
| main.rs:52:24:52:25 | s1 | main.rs:52:11:52:26 | ...::from(...) | provenance | MaD:2 |
21+
| main.rs:57:6:57:7 | s1 | main.rs:58:11:58:12 | s1 | provenance | |
22+
| main.rs:57:11:57:26 | source_slice(...) | main.rs:57:6:57:7 | s1 | provenance | |
23+
| main.rs:58:6:58:7 | s2 | main.rs:59:7:59:8 | s2 | provenance | |
24+
| main.rs:58:11:58:12 | s1 | main.rs:58:11:58:24 | s1.to_string(...) | provenance | MaD:1 |
25+
| main.rs:58:11:58:24 | s1.to_string(...) | main.rs:58:6:58:7 | s2 | provenance | |
2026
| main.rs:63:9:63:9 | s | main.rs:64:16:64:16 | s | provenance | |
2127
| main.rs:63:13:63:22 | source(...) | main.rs:63:9:63:9 | s | provenance | |
22-
| main.rs:64:16:64:16 | s | main.rs:64:16:64:25 | s.as_str(...) | provenance | MaD:2 |
28+
| main.rs:64:16:64:16 | s | main.rs:64:16:64:25 | s.as_str(...) | provenance | MaD:3 |
2329
| main.rs:68:9:68:9 | s | main.rs:70:34:70:61 | MacroExpr | provenance | |
2430
| main.rs:68:9:68:9 | s | main.rs:73:34:73:59 | MacroExpr | provenance | |
2531
| main.rs:68:13:68:22 | source(...) | main.rs:68:9:68:9 | s | provenance | |
2632
| main.rs:70:9:70:18 | formatted1 | main.rs:71:10:71:19 | formatted1 | provenance | |
2733
| main.rs:70:22:70:62 | ...::format(...) | main.rs:70:9:70:18 | formatted1 | provenance | |
28-
| main.rs:70:34:70:61 | MacroExpr | main.rs:70:22:70:62 | ...::format(...) | provenance | MaD:3 |
34+
| main.rs:70:34:70:61 | MacroExpr | main.rs:70:22:70:62 | ...::format(...) | provenance | MaD:4 |
2935
| main.rs:73:9:73:18 | formatted2 | main.rs:74:10:74:19 | formatted2 | provenance | |
3036
| main.rs:73:22:73:60 | ...::format(...) | main.rs:73:9:73:18 | formatted2 | provenance | |
31-
| main.rs:73:34:73:59 | MacroExpr | main.rs:73:22:73:60 | ...::format(...) | provenance | MaD:3 |
37+
| main.rs:73:34:73:59 | MacroExpr | main.rs:73:22:73:60 | ...::format(...) | provenance | MaD:4 |
3238
| main.rs:76:9:76:13 | width | main.rs:77:34:77:74 | MacroExpr | provenance | |
3339
| main.rs:76:17:76:32 | source_usize(...) | main.rs:76:9:76:13 | width | provenance | |
3440
| main.rs:77:9:77:18 | formatted3 | main.rs:78:10:78:19 | formatted3 | provenance | |
3541
| main.rs:77:22:77:75 | ...::format(...) | main.rs:77:9:77:18 | formatted3 | provenance | |
36-
| main.rs:77:34:77:74 | MacroExpr | main.rs:77:22:77:75 | ...::format(...) | provenance | MaD:3 |
42+
| main.rs:77:34:77:74 | MacroExpr | main.rs:77:22:77:75 | ...::format(...) | provenance | MaD:4 |
3743
| main.rs:82:9:82:10 | s1 | main.rs:86:18:86:25 | MacroExpr | provenance | |
3844
| main.rs:82:9:82:10 | s1 | main.rs:87:18:87:32 | MacroExpr | provenance | |
3945
| main.rs:82:14:82:23 | source(...) | main.rs:82:9:82:10 | s1 | provenance | |
4046
| main.rs:86:10:86:26 | res | main.rs:86:18:86:25 | { ... } | provenance | |
4147
| main.rs:86:18:86:25 | ...::format(...) | main.rs:86:10:86:26 | res | provenance | |
4248
| main.rs:86:18:86:25 | ...::must_use(...) | main.rs:86:10:86:26 | MacroExpr | provenance | |
43-
| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:3 |
44-
| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:4 |
49+
| main.rs:86:18:86:25 | MacroExpr | main.rs:86:18:86:25 | ...::format(...) | provenance | MaD:4 |
50+
| main.rs:86:18:86:25 | { ... } | main.rs:86:18:86:25 | ...::must_use(...) | provenance | MaD:5 |
4551
| main.rs:87:10:87:33 | res | main.rs:87:18:87:32 | { ... } | provenance | |
4652
| main.rs:87:18:87:32 | ...::format(...) | main.rs:87:10:87:33 | res | provenance | |
4753
| main.rs:87:18:87:32 | ...::must_use(...) | main.rs:87:10:87:33 | MacroExpr | provenance | |
48-
| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:3 |
49-
| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:4 |
54+
| main.rs:87:18:87:32 | MacroExpr | main.rs:87:18:87:32 | ...::format(...) | provenance | MaD:4 |
55+
| main.rs:87:18:87:32 | { ... } | main.rs:87:18:87:32 | ...::must_use(...) | provenance | MaD:5 |
5056
nodes
5157
| main.rs:26:9:26:9 | s | semmle.label | s |
5258
| main.rs:26:13:26:22 | source(...) | semmle.label | source(...) |
@@ -58,12 +64,18 @@ nodes
5864
| main.rs:32:14:32:23 | source(...) | semmle.label | source(...) |
5965
| main.rs:35:9:35:10 | s4 | semmle.label | s4 |
6066
| main.rs:38:10:38:11 | s4 | semmle.label | s4 |
61-
| main.rs:51:9:51:10 | s1 | semmle.label | s1 |
62-
| main.rs:51:14:51:29 | source_slice(...) | semmle.label | source_slice(...) |
63-
| main.rs:52:9:52:10 | s2 | semmle.label | s2 |
64-
| main.rs:52:14:52:29 | ...::from(...) | semmle.label | ...::from(...) |
65-
| main.rs:52:27:52:28 | s1 | semmle.label | s1 |
66-
| main.rs:53:10:53:11 | s2 | semmle.label | s2 |
67+
| main.rs:51:6:51:7 | s1 | semmle.label | s1 |
68+
| main.rs:51:11:51:26 | source_slice(...) | semmle.label | source_slice(...) |
69+
| main.rs:52:6:52:7 | s2 | semmle.label | s2 |
70+
| main.rs:52:11:52:26 | ...::from(...) | semmle.label | ...::from(...) |
71+
| main.rs:52:24:52:25 | s1 | semmle.label | s1 |
72+
| main.rs:53:7:53:8 | s2 | semmle.label | s2 |
73+
| main.rs:57:6:57:7 | s1 | semmle.label | s1 |
74+
| main.rs:57:11:57:26 | source_slice(...) | semmle.label | source_slice(...) |
75+
| main.rs:58:6:58:7 | s2 | semmle.label | s2 |
76+
| main.rs:58:11:58:12 | s1 | semmle.label | s1 |
77+
| main.rs:58:11:58:24 | s1.to_string(...) | semmle.label | s1.to_string(...) |
78+
| main.rs:59:7:59:8 | s2 | semmle.label | s2 |
6779
| main.rs:63:9:63:9 | s | semmle.label | s |
6880
| main.rs:63:13:63:22 | source(...) | semmle.label | source(...) |
6981
| main.rs:64:16:64:16 | s | semmle.label | s |
@@ -103,7 +115,8 @@ testFailures
103115
#select
104116
| main.rs:28:16:28:21 | sliced | main.rs:26:13:26:22 | source(...) | main.rs:28:16:28:21 | sliced | $@ | main.rs:26:13:26:22 | source(...) | source(...) |
105117
| main.rs:38:10:38:11 | s4 | main.rs:32:14:32:23 | source(...) | main.rs:38:10:38:11 | s4 | $@ | main.rs:32:14:32:23 | source(...) | source(...) |
106-
| main.rs:53:10:53:11 | s2 | main.rs:51:14:51:29 | source_slice(...) | main.rs:53:10:53:11 | s2 | $@ | main.rs:51:14:51:29 | source_slice(...) | source_slice(...) |
118+
| main.rs:53:7:53:8 | s2 | main.rs:51:11:51:26 | source_slice(...) | main.rs:53:7:53:8 | s2 | $@ | main.rs:51:11:51:26 | source_slice(...) | source_slice(...) |
119+
| main.rs:59:7:59:8 | s2 | main.rs:57:11:57:26 | source_slice(...) | main.rs:59:7:59:8 | s2 | $@ | main.rs:57:11:57:26 | source_slice(...) | source_slice(...) |
107120
| main.rs:64:16:64:25 | s.as_str(...) | main.rs:63:13:63:22 | source(...) | main.rs:64:16:64:25 | s.as_str(...) | $@ | main.rs:63:13:63:22 | source(...) | source(...) |
108121
| main.rs:71:10:71:19 | formatted1 | main.rs:68:13:68:22 | source(...) | main.rs:71:10:71:19 | formatted1 | $@ | main.rs:68:13:68:22 | source(...) | source(...) |
109122
| main.rs:74:10:74:19 | formatted2 | main.rs:68:13:68:22 | source(...) | main.rs:74:10:74:19 | formatted2 | $@ | main.rs:68:13:68:22 | source(...) | source(...) |

rust/ql/test/library-tests/dataflow/strings/main.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ fn string_add_reference() {
4848
}
4949

5050
fn string_from() {
51-
let s1 = source_slice(36);
52-
let s2 = String::from(s1);
53-
sink(s2); // $ hasValueFlow=36
51+
let s1 = source_slice(36);
52+
let s2 = String::from(s1);
53+
sink(s2); // $ hasValueFlow=36
5454
}
5555

5656
fn string_to_string() {
57-
let s1 = source_slice(22);
58-
let s2 = s1.to_string();
59-
sink(s2); // $ MISSING: hasTaintFlow=22
57+
let s1 = source_slice(22);
58+
let s2 = s1.to_string();
59+
sink(s2); // $ hasTaintFlow=22
6060
}
6161

6262
fn as_str() {

0 commit comments

Comments
 (0)