From 13f852bd20a7c12380794d34ee7d025639d68834 Mon Sep 17 00:00:00 2001 From: Aaron Kaiser Date: Mon, 26 Aug 2024 11:53:36 +0200 Subject: [PATCH] Make sure private_file does not get closed by rusts borrow checker --- src/main.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 75b37b6..d22eebc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,7 +21,7 @@ fn main() { let sync_fd: c_int = args[1] .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 { mmap( @@ -51,12 +51,11 @@ fn main() { .read(true) .write(true) .open(&args[2]) - .expect("Cannot open KEY_FILE") - .as_raw_fd() - .try_into() - .unwrap(); + .expect("Cannot open KEY_FILE"); 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 }