diff --git a/src/agent.rs b/src/agent.rs index 3279c79..2b0fdc0 100644 --- a/src/agent.rs +++ b/src/agent.rs @@ -46,13 +46,15 @@ impl Agent { if child == 0 { // child + let path = CString::new(path.as_os_str().as_encoded_bytes()).unwrap(); let data_fd = CString::new(data_fd.to_string()).unwrap(); let sync_fd = CString::new(sync_fd.to_string()).unwrap(); let keyfile = CString::new(std::env::var("KEY_FILE").expect("KEY_FILE environment variable missing")).unwrap(); let args = [data_fd.as_ptr(), sync_fd.as_ptr(), keyfile.as_ptr(), ptr::null()]; + execve( - path.as_os_str().as_encoded_bytes().as_ptr() as *const c_char, + path.as_ptr() as *const c_char, args.as_ptr(), ptr::null(), );