|
1 | 1 | #select |
2 | 2 | | main.rs:6:25:6:30 | ®ex | main.rs:4:20:4:32 | ...::var | main.rs:6:25:6:30 | ®ex | This regular expression is constructed from a $@. | main.rs:4:20:4:32 | ...::var | user-provided value | |
| 3 | +| main.rs:21:25:21:30 | ®ex | main.rs:19:23:19:35 | ...::var | main.rs:21:25:21:30 | ®ex | This regular expression is constructed from a $@. | main.rs:19:23:19:35 | ...::var | user-provided value | |
3 | 4 | edges |
4 | 5 | | main.rs:4:9:4:16 | username | main.rs:5:25:5:44 | MacroExpr | provenance | | |
5 | 6 | | main.rs:4:20:4:32 | ...::var | main.rs:4:20:4:40 | ...::var(...) [Ok] | provenance | Src:MaD:1 | |
|
8 | 9 | | main.rs:5:9:5:13 | regex | main.rs:6:26:6:30 | regex | provenance | | |
9 | 10 | | main.rs:5:25:5:44 | ...::format(...) | main.rs:5:25:5:44 | { ... } | provenance | | |
10 | 11 | | main.rs:5:25:5:44 | ...::must_use(...) | main.rs:5:9:5:13 | regex | provenance | | |
11 | | -| main.rs:5:25:5:44 | MacroExpr | main.rs:5:25:5:44 | ...::format(...) | provenance | MaD:3 | |
12 | | -| main.rs:5:25:5:44 | { ... } | main.rs:5:25:5:44 | ...::must_use(...) | provenance | MaD:4 | |
| 12 | +| main.rs:5:25:5:44 | MacroExpr | main.rs:5:25:5:44 | ...::format(...) | provenance | MaD:4 | |
| 13 | +| main.rs:5:25:5:44 | { ... } | main.rs:5:25:5:44 | ...::must_use(...) | provenance | MaD:5 | |
13 | 14 | | main.rs:6:26:6:30 | regex | main.rs:6:25:6:30 | ®ex | provenance | | |
| 15 | +| main.rs:19:9:19:19 | user_number | main.rs:20:25:20:47 | MacroExpr | provenance | | |
| 16 | +| main.rs:19:23:19:35 | ...::var | main.rs:19:23:19:43 | ...::var(...) [Ok] | provenance | Src:MaD:1 | |
| 17 | +| main.rs:19:23:19:43 | ...::var(...) [Ok] | main.rs:19:23:19:70 | ... .unwrap_or(...) | provenance | MaD:2 | |
| 18 | +| main.rs:19:23:19:70 | ... .unwrap_or(...) | main.rs:19:23:19:85 | ... .parse() [Ok] | provenance | MaD:3 | |
| 19 | +| main.rs:19:23:19:70 | ... .unwrap_or(...) | main.rs:19:23:19:85 | ... .parse() [Ok] | provenance | MaD:3 | |
| 20 | +| main.rs:19:23:19:85 | ... .parse() [Ok] | main.rs:19:23:19:98 | ... .unwrap_or(...) | provenance | MaD:2 | |
| 21 | +| main.rs:19:23:19:98 | ... .unwrap_or(...) | main.rs:19:9:19:19 | user_number | provenance | | |
| 22 | +| main.rs:20:9:20:13 | regex | main.rs:21:26:21:30 | regex | provenance | | |
| 23 | +| main.rs:20:25:20:47 | ...::format(...) | main.rs:20:25:20:47 | { ... } | provenance | | |
| 24 | +| main.rs:20:25:20:47 | ...::must_use(...) | main.rs:20:9:20:13 | regex | provenance | | |
| 25 | +| main.rs:20:25:20:47 | MacroExpr | main.rs:20:25:20:47 | ...::format(...) | provenance | MaD:4 | |
| 26 | +| main.rs:20:25:20:47 | { ... } | main.rs:20:25:20:47 | ...::must_use(...) | provenance | MaD:5 | |
| 27 | +| main.rs:21:26:21:30 | regex | main.rs:21:25:21:30 | ®ex | provenance | | |
14 | 28 | models |
15 | 29 | | 1 | Source: std::env::var; ReturnValue.Field[core::result::Result::Ok(0)]; environment | |
16 | 30 | | 2 | Summary: <core::result::Result>::unwrap_or; Argument[self].Field[core::result::Result::Ok(0)]; ReturnValue; value | |
17 | | -| 3 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | |
18 | | -| 4 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | |
| 31 | +| 3 | Summary: <core::str>::parse; Argument[self]; ReturnValue.Field[core::result::Result::Ok(0)]; taint | |
| 32 | +| 4 | Summary: alloc::fmt::format; Argument[0]; ReturnValue; taint | |
| 33 | +| 5 | Summary: core::hint::must_use; Argument[0]; ReturnValue; value | |
19 | 34 | nodes |
20 | 35 | | main.rs:4:9:4:16 | username | semmle.label | username | |
21 | 36 | | main.rs:4:20:4:32 | ...::var | semmle.label | ...::var | |
|
28 | 43 | | main.rs:5:25:5:44 | { ... } | semmle.label | { ... } | |
29 | 44 | | main.rs:6:25:6:30 | ®ex | semmle.label | ®ex | |
30 | 45 | | main.rs:6:26:6:30 | regex | semmle.label | regex | |
| 46 | +| main.rs:19:9:19:19 | user_number | semmle.label | user_number | |
| 47 | +| main.rs:19:23:19:35 | ...::var | semmle.label | ...::var | |
| 48 | +| main.rs:19:23:19:43 | ...::var(...) [Ok] | semmle.label | ...::var(...) [Ok] | |
| 49 | +| main.rs:19:23:19:70 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | |
| 50 | +| main.rs:19:23:19:85 | ... .parse() [Ok] | semmle.label | ... .parse() [Ok] | |
| 51 | +| main.rs:19:23:19:98 | ... .unwrap_or(...) | semmle.label | ... .unwrap_or(...) | |
| 52 | +| main.rs:20:9:20:13 | regex | semmle.label | regex | |
| 53 | +| main.rs:20:25:20:47 | ...::format(...) | semmle.label | ...::format(...) | |
| 54 | +| main.rs:20:25:20:47 | ...::must_use(...) | semmle.label | ...::must_use(...) | |
| 55 | +| main.rs:20:25:20:47 | MacroExpr | semmle.label | MacroExpr | |
| 56 | +| main.rs:20:25:20:47 | { ... } | semmle.label | { ... } | |
| 57 | +| main.rs:21:25:21:30 | ®ex | semmle.label | ®ex | |
| 58 | +| main.rs:21:26:21:30 | regex | semmle.label | regex | |
31 | 59 | subpaths |
0 commit comments