Rust: Update variable name in examples.

This commit is contained in:
Geoffrey White
2025-06-23 16:18:51 +01:00
parent 36cf4b613e
commit b82a7ab745
4 changed files with 13 additions and 13 deletions

View File

@@ -7,12 +7,12 @@ fn get_pointer() -> *const i64 {
fn example() {
let ptr = get_pointer();
let val;
let dereferenced_ptr;
// ...
unsafe {
val = *ptr; // BAD: dereferences `ptr` after the lifetime of `val` has ended
dereferenced_ptr = *ptr; // BAD: dereferences `ptr` after the lifetime of `val` has ended
}
// ...

View File

@@ -7,11 +7,11 @@ fn get_box() -> Box<i64> {
fn example() {
let ptr = get_box();
let val;
let dereferenced_ptr;
// ...
val = *ptr; // GOOD
dereferenced_ptr = *ptr; // GOOD
// ...
}

View File

@@ -22,7 +22,7 @@
| lifetime.rs:667:14:667:17 | ref1 | lifetime.rs:654:31:654:35 | &str1 | lifetime.rs:667:14:667:17 | ref1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:653:8:653:11 | str1 | str1 |
| lifetime.rs:667:14:667:17 | ref1 | lifetime.rs:655:11:655:25 | &raw const str2 | lifetime.rs:667:14:667:17 | ref1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:651:7:651:10 | str2 | str2 |
| lifetime.rs:789:12:789:13 | p1 | lifetime.rs:781:9:781:19 | &my_local10 | lifetime.rs:789:12:789:13 | p1 | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:779:6:779:15 | my_local10 | my_local10 |
| lifetime.rs:808:10:808:12 | ptr | lifetime.rs:798:9:798:12 | &val | lifetime.rs:808:10:808:12 | ptr | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:796:6:796:8 | val | val |
| lifetime.rs:808:23:808:25 | ptr | lifetime.rs:798:9:798:12 | &val | lifetime.rs:808:23:808:25 | ptr | Access of a pointer to $@ after its lifetime has ended. | lifetime.rs:796:6:796:8 | val | val |
edges
| deallocation.rs:148:6:148:7 | p1 | deallocation.rs:151:14:151:15 | p1 | provenance | |
| deallocation.rs:148:6:148:7 | p1 | deallocation.rs:158:14:158:15 | p1 | provenance | |
@@ -201,7 +201,7 @@ edges
| lifetime.rs:785:11:785:41 | get_local_for_unsafe_function(...) | lifetime.rs:785:6:785:7 | p1 | provenance | |
| lifetime.rs:798:2:798:12 | return ... | lifetime.rs:802:12:802:24 | get_pointer(...) | provenance | |
| lifetime.rs:798:9:798:12 | &val | lifetime.rs:798:2:798:12 | return ... | provenance | |
| lifetime.rs:802:6:802:8 | ptr | lifetime.rs:808:10:808:12 | ptr | provenance | |
| lifetime.rs:802:6:802:8 | ptr | lifetime.rs:808:23:808:25 | ptr | provenance | |
| lifetime.rs:802:12:802:24 | get_pointer(...) | lifetime.rs:802:6:802:8 | ptr | provenance | |
models
| 1 | Summary: lang:core; crate::ptr::from_ref; Argument[0]; ReturnValue; value |
@@ -418,5 +418,5 @@ nodes
| lifetime.rs:798:9:798:12 | &val | semmle.label | &val |
| lifetime.rs:802:6:802:8 | ptr | semmle.label | ptr |
| lifetime.rs:802:12:802:24 | get_pointer(...) | semmle.label | get_pointer(...) |
| lifetime.rs:808:10:808:12 | ptr | semmle.label | ptr |
| lifetime.rs:808:23:808:25 | ptr | semmle.label | ptr |
subpaths

View File

@@ -800,15 +800,15 @@ fn get_pointer() -> *const i64 {
pub fn test_lifetimes_example_bad() {
let ptr = get_pointer();
let val;
let dereferenced_ptr;
use_the_stack();
unsafe {
val = *ptr; // $ Alert[rust/access-after-lifetime-ended]=val
dereferenced_ptr = *ptr; // $ Alert[rust/access-after-lifetime-ended]=val
}
println!(" val = {val} (!)"); // corrupt in practice
println!(" val = {dereferenced_ptr} (!)"); // corrupt in practice
}
fn get_box() -> Box<i64> {
@@ -819,11 +819,11 @@ fn get_box() -> Box<i64> {
pub fn test_lifetimes_example_good() {
let ptr = get_box();
let val;
let dereferenced_ptr;
use_the_stack();
val = *ptr; // GOOD
dereferenced_ptr = *ptr; // GOOD
println!(" val = {val}");
println!(" val = {dereferenced_ptr}");
}