Make sure private_file does not get closed by rusts borrow checker
This commit is contained in:
11
src/main.rs
11
src/main.rs
@@ -21,7 +21,7 @@ fn main() {
|
|||||||
|
|
||||||
let sync_fd: c_int = args[1]
|
let sync_fd: c_int = args[1]
|
||||||
.parse()
|
.parse()
|
||||||
.expect("Please provide a valid file descriptor as first argument");
|
.expect("Please provide a valid file descriptor as second argument");
|
||||||
|
|
||||||
let shared_memory = unsafe {
|
let shared_memory = unsafe {
|
||||||
mmap(
|
mmap(
|
||||||
@@ -51,12 +51,11 @@ fn main() {
|
|||||||
.read(true)
|
.read(true)
|
||||||
.write(true)
|
.write(true)
|
||||||
.open(&args[2])
|
.open(&args[2])
|
||||||
.expect("Cannot open KEY_FILE")
|
.expect("Cannot open KEY_FILE");
|
||||||
.as_raw_fd()
|
|
||||||
.try_into()
|
|
||||||
.unwrap();
|
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
agent_start(shared_memory, sync_memory, private_file);
|
agent_start(shared_memory, sync_memory, private_file.as_raw_fd().try_into().unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
drop(private_file); // don't drop (and close) private file before here
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user