|
1 | 1 | #select |
2 | 2 | | src/main.rs:11:5:11:22 | ...::read_to_string | src/main.rs:7:11:7:19 | file_name | src/main.rs:11:5:11:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:7:11:7:19 | file_name | user-provided value | |
| 3 | +| src/main.rs:104:13:104:31 | ...::open | src/main.rs:103:17:103:30 | ...::args | src/main.rs:104:13:104:31 | ...::open | This path depends on a $@. | src/main.rs:103:17:103:30 | ...::args | user-provided value | |
3 | 4 | edges |
4 | 5 | | src/main.rs:7:11:7:19 | file_name | src/main.rs:9:35:9:43 | file_name | provenance | | |
5 | 6 | | src/main.rs:9:9:9:17 | file_path | src/main.rs:11:24:11:32 | file_path | provenance | | |
6 | 7 | | src/main.rs:9:21:9:44 | ...::from(...) | src/main.rs:9:9:9:17 | file_path | provenance | | |
7 | | -| src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:2 | |
8 | | -| src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:2 | |
9 | | -| src/main.rs:11:24:11:32 | file_path | src/main.rs:11:5:11:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | |
| 8 | +| src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:7 | |
| 9 | +| src/main.rs:9:35:9:43 | file_name | src/main.rs:9:21:9:44 | ...::from(...) | provenance | MaD:7 | |
| 10 | +| src/main.rs:11:24:11:32 | file_path | src/main.rs:11:5:11:22 | ...::read_to_string | provenance | MaD:2 Sink:MaD:2 | |
| 11 | +| src/main.rs:103:9:103:13 | path1 | src/main.rs:104:33:104:37 | path1 | provenance | | |
| 12 | +| src/main.rs:103:17:103:30 | ...::args | src/main.rs:103:17:103:32 | ...::args(...) [element] | provenance | Src:MaD:3 | |
| 13 | +| src/main.rs:103:17:103:32 | ...::args(...) [element] | src/main.rs:103:17:103:39 | ... .nth(...) [Some] | provenance | MaD:5 | |
| 14 | +| src/main.rs:103:17:103:39 | ... .nth(...) [Some] | src/main.rs:103:17:103:48 | ... .unwrap() | provenance | MaD:6 | |
| 15 | +| src/main.rs:103:17:103:48 | ... .unwrap() | src/main.rs:103:9:103:13 | path1 | provenance | | |
| 16 | +| src/main.rs:104:33:104:37 | path1 | src/main.rs:104:33:104:45 | path1.clone() | provenance | MaD:4 | |
| 17 | +| src/main.rs:104:33:104:45 | path1.clone() | src/main.rs:104:13:104:31 | ...::open | provenance | MaD:1 Sink:MaD:1 | |
10 | 18 | models |
11 | | -| 1 | Sink: std::fs::read_to_string; Argument[0]; path-injection | |
12 | | -| 2 | Summary: <std::path::PathBuf as core::convert::From>::from; Argument[0]; ReturnValue; taint | |
| 19 | +| 1 | Sink: <std::fs::File>::open; Argument[0]; path-injection | |
| 20 | +| 2 | Sink: std::fs::read_to_string; Argument[0]; path-injection | |
| 21 | +| 3 | Source: std::env::args; ReturnValue.Element; commandargs | |
| 22 | +| 4 | Summary: <_ as core::clone::Clone>::clone; Argument[self].Reference; ReturnValue; value | |
| 23 | +| 5 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Element; ReturnValue.Field[core::option::Option::Some(0)]; value | |
| 24 | +| 6 | Summary: <core::option::Option>::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value | |
| 25 | +| 7 | Summary: <std::path::PathBuf as core::convert::From>::from; Argument[0]; ReturnValue; taint | |
13 | 26 | nodes |
14 | 27 | | src/main.rs:7:11:7:19 | file_name | semmle.label | file_name | |
15 | 28 | | src/main.rs:9:9:9:17 | file_path | semmle.label | file_path | |
16 | 29 | | src/main.rs:9:21:9:44 | ...::from(...) | semmle.label | ...::from(...) | |
17 | 30 | | src/main.rs:9:35:9:43 | file_name | semmle.label | file_name | |
18 | 31 | | src/main.rs:11:5:11:22 | ...::read_to_string | semmle.label | ...::read_to_string | |
19 | 32 | | src/main.rs:11:24:11:32 | file_path | semmle.label | file_path | |
| 33 | +| src/main.rs:103:9:103:13 | path1 | semmle.label | path1 | |
| 34 | +| src/main.rs:103:17:103:30 | ...::args | semmle.label | ...::args | |
| 35 | +| src/main.rs:103:17:103:32 | ...::args(...) [element] | semmle.label | ...::args(...) [element] | |
| 36 | +| src/main.rs:103:17:103:39 | ... .nth(...) [Some] | semmle.label | ... .nth(...) [Some] | |
| 37 | +| src/main.rs:103:17:103:48 | ... .unwrap() | semmle.label | ... .unwrap() | |
| 38 | +| src/main.rs:104:13:104:31 | ...::open | semmle.label | ...::open | |
| 39 | +| src/main.rs:104:33:104:37 | path1 | semmle.label | path1 | |
| 40 | +| src/main.rs:104:33:104:45 | path1.clone() | semmle.label | path1.clone() | |
20 | 41 | subpaths |
0 commit comments