fix: null terminate path of agent
This commit is contained in:
@@ -46,13 +46,15 @@ impl Agent {
|
|||||||
if child == 0 {
|
if child == 0 {
|
||||||
// child
|
// child
|
||||||
|
|
||||||
|
let path = CString::new(path.as_os_str().as_encoded_bytes()).unwrap();
|
||||||
let data_fd = CString::new(data_fd.to_string()).unwrap();
|
let data_fd = CString::new(data_fd.to_string()).unwrap();
|
||||||
let sync_fd = CString::new(sync_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 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()];
|
let args = [data_fd.as_ptr(), sync_fd.as_ptr(), keyfile.as_ptr(), ptr::null()];
|
||||||
|
|
||||||
|
|
||||||
execve(
|
execve(
|
||||||
path.as_os_str().as_encoded_bytes().as_ptr() as *const c_char,
|
path.as_ptr() as *const c_char,
|
||||||
args.as_ptr(),
|
args.as_ptr(),
|
||||||
ptr::null(),
|
ptr::null(),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user