diff --git a/src/main.rs b/src/main.rs index a1972fd..8451ddb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,6 @@ -use libc::{c_int, c_void, mmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE}; +use libc::{ + c_char, c_int, c_void, mmap, perror, MAP_FAILED, MAP_PRIVATE, MAP_SHARED, PROT_READ, PROT_WRITE, +}; use std::fs::File; use std::os::fd::AsRawFd; use std::{env, ptr}; @@ -45,7 +47,12 @@ fn main() { } as *mut u8; assert_ne!(sync_memory, MAP_FAILED as *mut u8); - let private_file = File::open(&args[2]).expect("Cannot open KEY_FILE"); + let private_file = File::options() + .read(true) + .write(true) + .open(&args[2]) + .expect("Cannot open KEY_FILE"); + let private_mem = unsafe { mmap( ptr::null_mut() as *mut c_void,