3
3
| deallocation.rs:37:14:37:33 | ...::read::<...> | deallocation.rs:20:3:20:21 | ...::dealloc | deallocation.rs:37:14:37:33 | ...::read::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:20:3:20:21 | ...::dealloc | invalid |
4
4
| deallocation.rs:44:6:44:7 | m1 | deallocation.rs:20:3:20:21 | ...::dealloc | deallocation.rs:44:6:44:7 | m1 | This operation dereferences a pointer that may be $@. | deallocation.rs:20:3:20:21 | ...::dealloc | invalid |
5
5
| deallocation.rs:49:5:49:25 | ...::write::<...> | deallocation.rs:20:3:20:21 | ...::dealloc | deallocation.rs:49:5:49:25 | ...::write::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:20:3:20:21 | ...::dealloc | invalid |
6
- | deallocation.rs:76:16:76:17 | m2 | deallocation.rs:70:23 :70:24 | m2 | deallocation.rs:76:16:76:17 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:23 :70:24 | m2 | invalid |
7
- | deallocation.rs:81:16:81:17 | m2 | deallocation.rs:70:23 :70:24 | m2 | deallocation.rs:81:16:81:17 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:23 :70:24 | m2 | invalid |
8
- | deallocation.rs:86:7:86:8 | m2 | deallocation.rs:70:23 :70:24 | m2 | deallocation.rs:86:7:86:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:23 :70:24 | m2 | invalid |
9
- | deallocation.rs:90:7:90:8 | m2 | deallocation.rs:70:23 :70:24 | m2 | deallocation.rs:90:7:90:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:23 :70:24 | m2 | invalid |
10
- | deallocation.rs:95:5:95:31 | ...::write::<...> | deallocation.rs:70:23 :70:24 | m2 | deallocation.rs:95:5:95:31 | ...::write::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:70:23 :70:24 | m2 | invalid |
11
- | deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:14 :112:19 | my_ptr | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:14 :112:19 | my_ptr | invalid |
6
+ | deallocation.rs:76:16:76:17 | m2 | deallocation.rs:70:3 :70:21 | ...::dealloc | deallocation.rs:76:16:76:17 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3 :70:21 | ...::dealloc | invalid |
7
+ | deallocation.rs:81:16:81:17 | m2 | deallocation.rs:70:3 :70:21 | ...::dealloc | deallocation.rs:81:16:81:17 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3 :70:21 | ...::dealloc | invalid |
8
+ | deallocation.rs:86:7:86:8 | m2 | deallocation.rs:70:3 :70:21 | ...::dealloc | deallocation.rs:86:7:86:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3 :70:21 | ...::dealloc | invalid |
9
+ | deallocation.rs:90:7:90:8 | m2 | deallocation.rs:70:3 :70:21 | ...::dealloc | deallocation.rs:90:7:90:8 | m2 | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3 :70:21 | ...::dealloc | invalid |
10
+ | deallocation.rs:95:5:95:31 | ...::write::<...> | deallocation.rs:70:3 :70:21 | ...::dealloc | deallocation.rs:95:5:95:31 | ...::write::<...> | This operation dereferences a pointer that may be $@. | deallocation.rs:70:3 :70:21 | ...::dealloc | invalid |
11
+ | deallocation.rs:115:13:115:18 | my_ptr | deallocation.rs:112:3 :112:12 | ...::free | deallocation.rs:115:13:115:18 | my_ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:112:3 :112:12 | ...::free | invalid |
12
12
| deallocation.rs:130:14:130:15 | p1 | deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:130:14:130:15 | p1 | This operation dereferences a pointer that may be $@. | deallocation.rs:123:23:123:40 | ...::dangling | invalid |
13
13
| deallocation.rs:131:14:131:15 | p2 | deallocation.rs:124:21:124:42 | ...::dangling_mut | deallocation.rs:131:14:131:15 | p2 | This operation dereferences a pointer that may be $@. | deallocation.rs:124:21:124:42 | ...::dangling_mut | invalid |
14
14
| deallocation.rs:132:14:132:15 | p3 | deallocation.rs:125:23:125:36 | ...::null | deallocation.rs:132:14:132:15 | p3 | This operation dereferences a pointer that may be $@. | deallocation.rs:125:23:125:36 | ...::null | invalid |
15
15
| deallocation.rs:180:15:180:16 | p1 | deallocation.rs:176:3:176:25 | ...::drop_in_place | deallocation.rs:180:15:180:16 | p1 | This operation dereferences a pointer that may be $@. | deallocation.rs:176:3:176:25 | ...::drop_in_place | invalid |
16
- | deallocation.rs:189:29:189:30 | p3 | deallocation.rs:189:29:189:30 | p3 | deallocation.rs:189:29:189:30 | p3 | This operation dereferences a pointer that may be $@. | deallocation.rs:189:29:189:30 | p3 | invalid |
17
16
| deallocation.rs:248:18:248:20 | ptr | deallocation.rs:242:3:242:25 | ...::drop_in_place | deallocation.rs:248:18:248:20 | ptr | This operation dereferences a pointer that may be $@. | deallocation.rs:242:3:242:25 | ...::drop_in_place | invalid |
18
17
edges
19
18
| deallocation.rs:20:3:20:21 | ...::dealloc | deallocation.rs:20:23:20:24 | [post] m1 | provenance | Src:MaD:3 MaD:3 |
@@ -23,13 +22,15 @@ edges
23
22
| deallocation.rs:20:23:20:24 | [post] m1 | deallocation.rs:49:27:49:28 | m1 | provenance | |
24
23
| deallocation.rs:37:35:37:36 | m1 | deallocation.rs:37:14:37:33 | ...::read::<...> | provenance | MaD:1 Sink:MaD:1 |
25
24
| deallocation.rs:49:27:49:28 | m1 | deallocation.rs:49:5:49:25 | ...::write::<...> | provenance | MaD:2 Sink:MaD:2 |
26
- | deallocation.rs:70:23:70:24 | m2 | deallocation.rs:76:16:76:17 | m2 | provenance | |
27
- | deallocation.rs:70:23:70:24 | m2 | deallocation.rs:81:16:81:17 | m2 | provenance | |
28
- | deallocation.rs:70:23:70:24 | m2 | deallocation.rs:86:7:86:8 | m2 | provenance | |
29
- | deallocation.rs:70:23:70:24 | m2 | deallocation.rs:90:7:90:8 | m2 | provenance | |
30
- | deallocation.rs:70:23:70:24 | m2 | deallocation.rs:95:33:95:34 | m2 | provenance | |
25
+ | deallocation.rs:70:3:70:21 | ...::dealloc | deallocation.rs:70:23:70:35 | [post] m2 as ... | provenance | Src:MaD:3 MaD:3 |
26
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:76:16:76:17 | m2 | provenance | |
27
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:81:16:81:17 | m2 | provenance | |
28
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:86:7:86:8 | m2 | provenance | |
29
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:90:7:90:8 | m2 | provenance | |
30
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | deallocation.rs:95:33:95:34 | m2 | provenance | |
31
31
| deallocation.rs:95:33:95:34 | m2 | deallocation.rs:95:5:95:31 | ...::write::<...> | provenance | MaD:2 Sink:MaD:2 |
32
- | deallocation.rs:112:14:112:19 | my_ptr | deallocation.rs:115:13:115:18 | my_ptr | provenance | |
32
+ | deallocation.rs:112:3:112:12 | ...::free | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | provenance | Src:MaD:8 MaD:8 |
33
+ | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | deallocation.rs:115:13:115:18 | my_ptr | provenance | |
33
34
| deallocation.rs:123:6:123:7 | p1 | deallocation.rs:130:14:130:15 | p1 | provenance | |
34
35
| deallocation.rs:123:23:123:40 | ...::dangling | deallocation.rs:123:23:123:42 | ...::dangling(...) | provenance | Src:MaD:4 MaD:4 |
35
36
| deallocation.rs:123:23:123:42 | ...::dangling(...) | deallocation.rs:123:6:123:7 | p1 | provenance | |
51
52
| 5 | Source: lang:core; crate::ptr::dangling_mut; pointer-invalidate; ReturnValue |
52
53
| 6 | Source: lang:core; crate::ptr::drop_in_place; pointer-invalidate; Argument[0] |
53
54
| 7 | Source: lang:core; crate::ptr::null; pointer-invalidate; ReturnValue |
55
+ | 8 | Source: repo:https://github.com/rust-lang/libc:libc; ::free; pointer-invalidate; Argument[0] |
54
56
nodes
55
57
| deallocation.rs:20:3:20:21 | ...::dealloc | semmle.label | ...::dealloc |
56
58
| deallocation.rs:20:23:20:24 | [post] m1 | semmle.label | [post] m1 |
@@ -60,14 +62,16 @@ nodes
60
62
| deallocation.rs:44:6:44:7 | m1 | semmle.label | m1 |
61
63
| deallocation.rs:49:5:49:25 | ...::write::<...> | semmle.label | ...::write::<...> |
62
64
| deallocation.rs:49:27:49:28 | m1 | semmle.label | m1 |
63
- | deallocation.rs:70:23:70:24 | m2 | semmle.label | m2 |
65
+ | deallocation.rs:70:3:70:21 | ...::dealloc | semmle.label | ...::dealloc |
66
+ | deallocation.rs:70:23:70:35 | [post] m2 as ... | semmle.label | [post] m2 as ... |
64
67
| deallocation.rs:76:16:76:17 | m2 | semmle.label | m2 |
65
68
| deallocation.rs:81:16:81:17 | m2 | semmle.label | m2 |
66
69
| deallocation.rs:86:7:86:8 | m2 | semmle.label | m2 |
67
70
| deallocation.rs:90:7:90:8 | m2 | semmle.label | m2 |
68
71
| deallocation.rs:95:5:95:31 | ...::write::<...> | semmle.label | ...::write::<...> |
69
72
| deallocation.rs:95:33:95:34 | m2 | semmle.label | m2 |
70
- | deallocation.rs:112:14:112:19 | my_ptr | semmle.label | my_ptr |
73
+ | deallocation.rs:112:3:112:12 | ...::free | semmle.label | ...::free |
74
+ | deallocation.rs:112:14:112:40 | [post] my_ptr as ... | semmle.label | [post] my_ptr as ... |
71
75
| deallocation.rs:115:13:115:18 | my_ptr | semmle.label | my_ptr |
72
76
| deallocation.rs:123:6:123:7 | p1 | semmle.label | p1 |
73
77
| deallocation.rs:123:23:123:40 | ...::dangling | semmle.label | ...::dangling |
84
88
| deallocation.rs:176:3:176:25 | ...::drop_in_place | semmle.label | ...::drop_in_place |
85
89
| deallocation.rs:176:27:176:28 | [post] p1 | semmle.label | [post] p1 |
86
90
| deallocation.rs:180:15:180:16 | p1 | semmle.label | p1 |
87
- | deallocation.rs:189:29:189:30 | p3 | semmle.label | p3 |
88
91
| deallocation.rs:242:3:242:25 | ...::drop_in_place | semmle.label | ...::drop_in_place |
89
92
| deallocation.rs:242:27:242:29 | [post] ptr | semmle.label | [post] ptr |
90
93
| deallocation.rs:248:18:248:20 | ptr | semmle.label | ptr |
0 commit comments