Skip to content

Commit 63b6144

Browse files
committed
Rust: Update the tests.
1 parent 1e2ced1 commit 63b6144

File tree

3 files changed

+81
-35
lines changed

3 files changed

+81
-35
lines changed

rust/ql/test/query-tests/security/CWE-825/DanglingPointerAccess.expected

Lines changed: 78 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,59 +22,82 @@ edges
2222
| main.rs:51:9:51:15 | &param5 | main.rs:51:2:51:15 | return ... | provenance | |
2323
| main.rs:58:2:58:18 | return ... | main.rs:67:11:67:36 | get_local_field_dangling(...) | provenance | |
2424
| main.rs:58:9:58:18 | &... | main.rs:58:2:58:18 | return ... | provenance | |
25-
| main.rs:62:11:62:30 | get_local_dangling(...) | main.rs:77:13:77:14 | p1 | provenance | |
26-
| main.rs:63:11:63:34 | get_local_dangling_mut(...) | main.rs:78:13:78:14 | p2 | provenance | |
27-
| main.rs:63:11:63:34 | get_local_dangling_mut(...) | main.rs:84:4:84:5 | p2 | provenance | |
28-
| main.rs:64:11:64:40 | get_local_dangling_raw_const(...) | main.rs:79:13:79:14 | p3 | provenance | |
29-
| main.rs:65:11:65:38 | get_local_dangling_raw_mut(...) | main.rs:80:13:80:14 | p4 | provenance | |
30-
| main.rs:65:11:65:38 | get_local_dangling_raw_mut(...) | main.rs:85:4:85:5 | p4 | provenance | |
31-
| main.rs:66:11:66:31 | get_param_dangling(...) | main.rs:81:13:81:14 | p5 | provenance | |
32-
| main.rs:67:11:67:36 | get_local_field_dangling(...) | main.rs:82:13:82:14 | p6 | provenance | |
33-
| main.rs:71:8:71:27 | &raw const my_local7 | main.rs:83:13:83:14 | p7 | provenance | |
25+
| main.rs:62:6:62:7 | p1 | main.rs:77:13:77:14 | p1 | provenance | |
26+
| main.rs:62:11:62:30 | get_local_dangling(...) | main.rs:62:6:62:7 | p1 | provenance | |
27+
| main.rs:63:6:63:7 | p2 | main.rs:78:13:78:14 | p2 | provenance | |
28+
| main.rs:63:6:63:7 | p2 | main.rs:84:4:84:5 | p2 | provenance | |
29+
| main.rs:63:11:63:34 | get_local_dangling_mut(...) | main.rs:63:6:63:7 | p2 | provenance | |
30+
| main.rs:64:6:64:7 | p3 | main.rs:79:13:79:14 | p3 | provenance | |
31+
| main.rs:64:11:64:40 | get_local_dangling_raw_const(...) | main.rs:64:6:64:7 | p3 | provenance | |
32+
| main.rs:65:6:65:7 | p4 | main.rs:80:13:80:14 | p4 | provenance | |
33+
| main.rs:65:6:65:7 | p4 | main.rs:85:4:85:5 | p4 | provenance | |
34+
| main.rs:65:11:65:38 | get_local_dangling_raw_mut(...) | main.rs:65:6:65:7 | p4 | provenance | |
35+
| main.rs:66:6:66:7 | p5 | main.rs:81:13:81:14 | p5 | provenance | |
36+
| main.rs:66:11:66:31 | get_param_dangling(...) | main.rs:66:6:66:7 | p5 | provenance | |
37+
| main.rs:67:6:67:7 | p6 | main.rs:82:13:82:14 | p6 | provenance | |
38+
| main.rs:67:11:67:36 | get_local_field_dangling(...) | main.rs:67:6:67:7 | p6 | provenance | |
39+
| main.rs:71:3:71:4 | p7 | main.rs:83:13:83:14 | p7 | provenance | |
40+
| main.rs:71:8:71:27 | &raw const my_local7 | main.rs:71:3:71:4 | p7 | provenance | |
3441
| main.rs:99:17:99:30 | ...: ... | main.rs:107:13:107:14 | p1 | provenance | |
3542
| main.rs:99:33:99:44 | ...: ... | main.rs:108:13:108:14 | p2 | provenance | |
3643
| main.rs:99:33:99:44 | ...: ... | main.rs:110:4:110:5 | p2 | provenance | |
37-
| main.rs:102:7:102:17 | &my_local10 | main.rs:109:13:109:14 | p3 | provenance | |
44+
| main.rs:102:2:102:3 | p3 | main.rs:109:13:109:14 | p3 | provenance | |
45+
| main.rs:102:7:102:17 | &my_local10 | main.rs:102:2:102:3 | p3 | provenance | |
3846
| main.rs:121:15:121:25 | &my_local11 | main.rs:99:17:99:30 | ...: ... | provenance | |
3947
| main.rs:121:28:121:46 | &mut my_local_mut12 | main.rs:99:33:99:44 | ...: ... | provenance | |
4048
| main.rs:129:2:129:24 | return ... | main.rs:141:11:141:21 | get_const(...) | provenance | |
4149
| main.rs:129:9:129:24 | &MY_GLOBAL_CONST | main.rs:129:2:129:24 | return ... | provenance | |
4250
| main.rs:136:3:136:30 | return ... | main.rs:142:11:142:26 | get_static_mut(...) | provenance | |
4351
| main.rs:136:10:136:30 | &mut MY_GLOBAL_STATIC | main.rs:136:3:136:30 | return ... | provenance | |
44-
| main.rs:141:11:141:21 | get_const(...) | main.rs:147:13:147:14 | p1 | provenance | |
45-
| main.rs:142:11:142:26 | get_static_mut(...) | main.rs:148:13:148:14 | p2 | provenance | |
46-
| main.rs:142:11:142:26 | get_static_mut(...) | main.rs:149:4:149:5 | p2 | provenance | |
47-
| main.rs:161:23:161:32 | &... | main.rs:178:13:178:14 | p1 | provenance | |
48-
| main.rs:164:23:164:32 | &... | main.rs:179:13:179:14 | p2 | provenance | |
49-
| main.rs:169:23:169:32 | &... | main.rs:180:13:180:14 | p3 | provenance | |
52+
| main.rs:141:6:141:7 | p1 | main.rs:147:13:147:14 | p1 | provenance | |
53+
| main.rs:141:11:141:21 | get_const(...) | main.rs:141:6:141:7 | p1 | provenance | |
54+
| main.rs:142:6:142:7 | p2 | main.rs:148:13:148:14 | p2 | provenance | |
55+
| main.rs:142:6:142:7 | p2 | main.rs:149:4:149:5 | p2 | provenance | |
56+
| main.rs:142:11:142:26 | get_static_mut(...) | main.rs:142:6:142:7 | p2 | provenance | |
57+
| main.rs:161:6:161:7 | p1 | main.rs:178:13:178:14 | p1 | provenance | |
58+
| main.rs:161:23:161:32 | &... | main.rs:161:6:161:7 | p1 | provenance | |
59+
| main.rs:164:6:164:7 | p2 | main.rs:179:13:179:14 | p2 | provenance | |
60+
| main.rs:164:23:164:32 | &... | main.rs:164:6:164:7 | p2 | provenance | |
61+
| main.rs:169:6:169:7 | p3 | main.rs:180:13:180:14 | p3 | provenance | |
62+
| main.rs:169:23:169:32 | &... | main.rs:169:6:169:7 | p3 | provenance | |
5063
| main.rs:189:17:189:31 | ...: ... | main.rs:192:13:192:15 | ptr | provenance | |
5164
| main.rs:197:17:197:31 | ...: ... | main.rs:200:13:200:15 | ptr | provenance | |
5265
| main.rs:205:17:205:31 | ...: ... | main.rs:208:13:208:15 | ptr | provenance | |
53-
| main.rs:215:12:215:22 | &my_local40 | main.rs:217:15:217:17 | ptr | provenance | |
54-
| main.rs:215:12:215:22 | &my_local40 | main.rs:218:15:218:17 | ptr | provenance | |
55-
| main.rs:215:12:215:22 | &my_local40 | main.rs:220:2:220:11 | return ptr | provenance | |
66+
| main.rs:215:6:215:8 | ptr | main.rs:217:15:217:17 | ptr | provenance | |
67+
| main.rs:215:6:215:8 | ptr | main.rs:218:15:218:17 | ptr | provenance | |
68+
| main.rs:215:6:215:8 | ptr | main.rs:220:2:220:11 | return ptr | provenance | |
69+
| main.rs:215:12:215:22 | &my_local40 | main.rs:215:6:215:8 | ptr | provenance | |
5670
| main.rs:217:15:217:17 | ptr | main.rs:189:17:189:31 | ...: ... | provenance | |
5771
| main.rs:218:15:218:17 | ptr | main.rs:205:17:205:31 | ...: ... | provenance | |
5872
| main.rs:220:2:220:11 | return ptr | main.rs:224:12:224:36 | access_and_get_dangling(...) | provenance | |
59-
| main.rs:224:12:224:36 | access_and_get_dangling(...) | main.rs:228:15:228:17 | ptr | provenance | |
60-
| main.rs:224:12:224:36 | access_and_get_dangling(...) | main.rs:229:15:229:17 | ptr | provenance | |
73+
| main.rs:224:6:224:8 | ptr | main.rs:228:15:228:17 | ptr | provenance | |
74+
| main.rs:224:6:224:8 | ptr | main.rs:229:15:229:17 | ptr | provenance | |
75+
| main.rs:224:12:224:36 | access_and_get_dangling(...) | main.rs:224:6:224:8 | ptr | provenance | |
6176
| main.rs:228:15:228:17 | ptr | main.rs:197:17:197:31 | ...: ... | provenance | |
6277
| main.rs:229:15:229:17 | ptr | main.rs:205:17:205:31 | ...: ... | provenance | |
6378
| main.rs:234:19:234:36 | ...: ... | main.rs:244:16:244:21 | ptr_up | provenance | |
64-
| main.rs:236:17:236:29 | &my_local_rec | main.rs:239:33:239:40 | ptr_ours | provenance | |
65-
| main.rs:236:17:236:29 | &my_local_rec | main.rs:245:18:245:25 | ptr_ours | provenance | |
66-
| main.rs:236:17:236:29 | &my_local_rec | main.rs:253:2:253:16 | return ptr_ours | provenance | |
67-
| main.rs:239:18:239:52 | access_ptr_rec(...) | main.rs:246:18:246:25 | ptr_down | provenance | |
79+
| main.rs:236:6:236:13 | ptr_ours | main.rs:239:33:239:40 | ptr_ours | provenance | |
80+
| main.rs:236:6:236:13 | ptr_ours | main.rs:245:18:245:25 | ptr_ours | provenance | |
81+
| main.rs:236:6:236:13 | ptr_ours | main.rs:253:2:253:16 | return ptr_ours | provenance | |
82+
| main.rs:236:17:236:29 | &my_local_rec | main.rs:236:6:236:13 | ptr_ours | provenance | |
83+
| main.rs:239:7:239:14 | ptr_down | main.rs:246:18:246:25 | ptr_down | provenance | |
84+
| main.rs:239:18:239:52 | access_ptr_rec(...) | main.rs:239:7:239:14 | ptr_down | provenance | |
6885
| main.rs:239:33:239:40 | ptr_ours | main.rs:234:19:234:36 | ...: ... | provenance | |
6986
| main.rs:253:2:253:16 | return ptr_ours | main.rs:239:18:239:52 | access_ptr_rec(...) | provenance | |
70-
| main.rs:258:18:258:31 | &my_local_rec2 | main.rs:260:21:260:29 | ptr_start | provenance | |
87+
| main.rs:258:6:258:14 | ptr_start | main.rs:260:21:260:29 | ptr_start | provenance | |
88+
| main.rs:258:18:258:31 | &my_local_rec2 | main.rs:258:6:258:14 | ptr_start | provenance | |
7189
| main.rs:260:21:260:29 | ptr_start | main.rs:234:19:234:36 | ...: ... | provenance | |
72-
| main.rs:563:26:563:35 | &my_local1 | main.rs:573:14:573:18 | first | provenance | |
73-
| main.rs:564:29:564:38 | &my_local1 | main.rs:575:14:575:17 | prev | provenance | |
74-
| main.rs:568:26:568:35 | &my_local2 | main.rs:574:14:574:17 | ours | provenance | |
75-
| main.rs:568:26:568:35 | &my_local2 | main.rs:575:14:575:17 | prev | provenance | |
76-
| main.rs:598:26:598:27 | &x | main.rs:605:14:605:19 | result | provenance | |
77-
| main.rs:598:26:598:27 | &x | main.rs:613:13:613:18 | result | provenance | |
90+
| main.rs:563:6:563:10 | first | main.rs:573:14:573:18 | first | provenance | |
91+
| main.rs:563:26:563:35 | &my_local1 | main.rs:563:6:563:10 | first | provenance | |
92+
| main.rs:564:6:564:13 | prev | main.rs:575:14:575:17 | prev | provenance | |
93+
| main.rs:564:29:564:38 | &my_local1 | main.rs:564:6:564:13 | prev | provenance | |
94+
| main.rs:568:7:568:10 | ours | main.rs:574:14:574:17 | ours | provenance | |
95+
| main.rs:568:7:568:10 | ours | main.rs:581:3:581:6 | prev | provenance | |
96+
| main.rs:568:26:568:35 | &my_local2 | main.rs:568:7:568:10 | ours | provenance | |
97+
| main.rs:581:3:581:6 | prev | main.rs:575:14:575:17 | prev | provenance | |
98+
| main.rs:597:3:597:8 | result | main.rs:605:14:605:19 | result | provenance | |
99+
| main.rs:597:3:597:8 | result | main.rs:613:13:613:18 | result | provenance | |
100+
| main.rs:598:26:598:27 | &x | main.rs:597:3:597:8 | result | provenance | |
78101
nodes
79102
| main.rs:29:2:29:18 | return ... | semmle.label | return ... |
80103
| main.rs:29:9:29:18 | &my_local1 | semmle.label | &my_local1 |
@@ -88,12 +111,19 @@ nodes
88111
| main.rs:51:9:51:15 | &param5 | semmle.label | &param5 |
89112
| main.rs:58:2:58:18 | return ... | semmle.label | return ... |
90113
| main.rs:58:9:58:18 | &... | semmle.label | &... |
114+
| main.rs:62:6:62:7 | p1 | semmle.label | p1 |
91115
| main.rs:62:11:62:30 | get_local_dangling(...) | semmle.label | get_local_dangling(...) |
116+
| main.rs:63:6:63:7 | p2 | semmle.label | p2 |
92117
| main.rs:63:11:63:34 | get_local_dangling_mut(...) | semmle.label | get_local_dangling_mut(...) |
118+
| main.rs:64:6:64:7 | p3 | semmle.label | p3 |
93119
| main.rs:64:11:64:40 | get_local_dangling_raw_const(...) | semmle.label | get_local_dangling_raw_const(...) |
120+
| main.rs:65:6:65:7 | p4 | semmle.label | p4 |
94121
| main.rs:65:11:65:38 | get_local_dangling_raw_mut(...) | semmle.label | get_local_dangling_raw_mut(...) |
122+
| main.rs:66:6:66:7 | p5 | semmle.label | p5 |
95123
| main.rs:66:11:66:31 | get_param_dangling(...) | semmle.label | get_param_dangling(...) |
124+
| main.rs:67:6:67:7 | p6 | semmle.label | p6 |
96125
| main.rs:67:11:67:36 | get_local_field_dangling(...) | semmle.label | get_local_field_dangling(...) |
126+
| main.rs:71:3:71:4 | p7 | semmle.label | p7 |
97127
| main.rs:71:8:71:27 | &raw const my_local7 | semmle.label | &raw const my_local7 |
98128
| main.rs:77:13:77:14 | p1 | semmle.label | p1 |
99129
| main.rs:78:13:78:14 | p2 | semmle.label | p2 |
@@ -106,6 +136,7 @@ nodes
106136
| main.rs:85:4:85:5 | p4 | semmle.label | p4 |
107137
| main.rs:99:17:99:30 | ...: ... | semmle.label | ...: ... |
108138
| main.rs:99:33:99:44 | ...: ... | semmle.label | ...: ... |
139+
| main.rs:102:2:102:3 | p3 | semmle.label | p3 |
109140
| main.rs:102:7:102:17 | &my_local10 | semmle.label | &my_local10 |
110141
| main.rs:107:13:107:14 | p1 | semmle.label | p1 |
111142
| main.rs:108:13:108:14 | p2 | semmle.label | p2 |
@@ -117,13 +148,18 @@ nodes
117148
| main.rs:129:9:129:24 | &MY_GLOBAL_CONST | semmle.label | &MY_GLOBAL_CONST |
118149
| main.rs:136:3:136:30 | return ... | semmle.label | return ... |
119150
| main.rs:136:10:136:30 | &mut MY_GLOBAL_STATIC | semmle.label | &mut MY_GLOBAL_STATIC |
151+
| main.rs:141:6:141:7 | p1 | semmle.label | p1 |
120152
| main.rs:141:11:141:21 | get_const(...) | semmle.label | get_const(...) |
153+
| main.rs:142:6:142:7 | p2 | semmle.label | p2 |
121154
| main.rs:142:11:142:26 | get_static_mut(...) | semmle.label | get_static_mut(...) |
122155
| main.rs:147:13:147:14 | p1 | semmle.label | p1 |
123156
| main.rs:148:13:148:14 | p2 | semmle.label | p2 |
124157
| main.rs:149:4:149:5 | p2 | semmle.label | p2 |
158+
| main.rs:161:6:161:7 | p1 | semmle.label | p1 |
125159
| main.rs:161:23:161:32 | &... | semmle.label | &... |
160+
| main.rs:164:6:164:7 | p2 | semmle.label | p2 |
126161
| main.rs:164:23:164:32 | &... | semmle.label | &... |
162+
| main.rs:169:6:169:7 | p3 | semmle.label | p3 |
127163
| main.rs:169:23:169:32 | &... | semmle.label | &... |
128164
| main.rs:178:13:178:14 | p1 | semmle.label | p1 |
129165
| main.rs:179:13:179:14 | p2 | semmle.label | p2 |
@@ -134,29 +170,39 @@ nodes
134170
| main.rs:200:13:200:15 | ptr | semmle.label | ptr |
135171
| main.rs:205:17:205:31 | ...: ... | semmle.label | ...: ... |
136172
| main.rs:208:13:208:15 | ptr | semmle.label | ptr |
173+
| main.rs:215:6:215:8 | ptr | semmle.label | ptr |
137174
| main.rs:215:12:215:22 | &my_local40 | semmle.label | &my_local40 |
138175
| main.rs:217:15:217:17 | ptr | semmle.label | ptr |
139176
| main.rs:218:15:218:17 | ptr | semmle.label | ptr |
140177
| main.rs:220:2:220:11 | return ptr | semmle.label | return ptr |
178+
| main.rs:224:6:224:8 | ptr | semmle.label | ptr |
141179
| main.rs:224:12:224:36 | access_and_get_dangling(...) | semmle.label | access_and_get_dangling(...) |
142180
| main.rs:228:15:228:17 | ptr | semmle.label | ptr |
143181
| main.rs:229:15:229:17 | ptr | semmle.label | ptr |
144182
| main.rs:234:19:234:36 | ...: ... | semmle.label | ...: ... |
183+
| main.rs:236:6:236:13 | ptr_ours | semmle.label | ptr_ours |
145184
| main.rs:236:17:236:29 | &my_local_rec | semmle.label | &my_local_rec |
185+
| main.rs:239:7:239:14 | ptr_down | semmle.label | ptr_down |
146186
| main.rs:239:18:239:52 | access_ptr_rec(...) | semmle.label | access_ptr_rec(...) |
147187
| main.rs:239:33:239:40 | ptr_ours | semmle.label | ptr_ours |
148188
| main.rs:244:16:244:21 | ptr_up | semmle.label | ptr_up |
149189
| main.rs:245:18:245:25 | ptr_ours | semmle.label | ptr_ours |
150190
| main.rs:246:18:246:25 | ptr_down | semmle.label | ptr_down |
151191
| main.rs:253:2:253:16 | return ptr_ours | semmle.label | return ptr_ours |
192+
| main.rs:258:6:258:14 | ptr_start | semmle.label | ptr_start |
152193
| main.rs:258:18:258:31 | &my_local_rec2 | semmle.label | &my_local_rec2 |
153194
| main.rs:260:21:260:29 | ptr_start | semmle.label | ptr_start |
195+
| main.rs:563:6:563:10 | first | semmle.label | first |
154196
| main.rs:563:26:563:35 | &my_local1 | semmle.label | &my_local1 |
197+
| main.rs:564:6:564:13 | prev | semmle.label | prev |
155198
| main.rs:564:29:564:38 | &my_local1 | semmle.label | &my_local1 |
199+
| main.rs:568:7:568:10 | ours | semmle.label | ours |
156200
| main.rs:568:26:568:35 | &my_local2 | semmle.label | &my_local2 |
157201
| main.rs:573:14:573:18 | first | semmle.label | first |
158202
| main.rs:574:14:574:17 | ours | semmle.label | ours |
159203
| main.rs:575:14:575:17 | prev | semmle.label | prev |
204+
| main.rs:581:3:581:6 | prev | semmle.label | prev |
205+
| main.rs:597:3:597:8 | result | semmle.label | result |
160206
| main.rs:598:26:598:27 | &x | semmle.label | &x |
161207
| main.rs:605:14:605:19 | result | semmle.label | result |
162208
| main.rs:613:13:613:18 | result | semmle.label | result |
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
query: queries/security/CWE-825/DanglingPointerAccess.ql
22
postprocess:
3-
- utils/PrettyPrintModels.ql
4-
- utils/InlineExpectationsTestQuery.ql
3+
- utils/test/PrettyPrintModels.ql
4+
- utils/test/InlineExpectationsTestQuery.ql

rust/ql/test/query-tests/security/CWE-825/PointerDerefs.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import rust
22
import codeql.rust.dataflow.DataFlow
33
import codeql.rust.dataflow.TaintTracking
44
import codeql.rust.security.DanglingPointerExtensions
5-
import utils.InlineExpectationsTest
5+
import utils.test.InlineExpectationsTest
66

77
module PointerDereferenceFlow = TaintTracking::Global<PointerDereferenceConfig>;
88

0 commit comments

Comments
 (0)