YJYXDY6AUDJMBUVKKUKM2GO2XVIKZVQFT4SRD4Z7XSTQBTSJ5ZSAC
BQ4E3XLAVS2AQAUYRGN6SZ4J35KQ2KIH7BBT2JNZXSPKKCGX7DYAC
VWVW5VOIYXHVNZI7LEIXM6HGCWWTTOKWGA7NGB65M6FSGYG6BCZQC
ODUDDQRY373JMDR6W2BHUWSKEU6TEICQMNZIAIFKJPNUA5UN3C4QC
/// Success, with the result path. Ok(PathBuf),
/// Success, with the result path.
Ok(PathBuf),
/// Success, with the potential result path. Ok(Option<PathBuf>),
/// Success, with the potential result path.
Ok(Option<PathBuf>),
) -> Result<PathBuf, Error> {
) -> Result<Option<PathBuf>, Error> {
return Ok(store.join(&format!(
return Ok(Some(store.join(&format!(
)));
))));
std::fs::remove_dir(&entry?.path()).unwrap_or(());
if let Ok(entry) = entry { std::fs::remove_dir(&entry.path()).unwrap_or(()); }
if let Ok(entry) = entry {
std::fs::remove_dir(&entry.path()).unwrap_or(());
}
return Err(Error::NoDestDir);
return Ok(None);
Ok(out)
Ok(Some(out))
debug!("execve {:?}", c);
let this_stdout = std::io::stdout().as_raw_fd(); let this_stderr = std::io::stderr().as_raw_fd();
let this_stdout = std::io::stdout().as_raw_fd();
let this_stderr = std::io::stderr().as_raw_fd();
libc::dup2(stdout, 1);
if libc::dup2(stdout, this_stdout) < 0 { return Err(std::io::Error::last_os_error().into()); } if libc::dup2(stderr, this_stderr) < 0 { return Err(std::io::Error::last_os_error().into()); } // libc::dup2(stdout, 1);
if libc::dup2(stdout, this_stdout) < 0 {
return Err(std::io::Error::last_os_error().into());
if libc::dup2(stderr, this_stderr) < 0 {
// libc::dup2(stdout, 1);
} unsafe {
unsafe {
libc::chroot(c.as_ptr());
if libc::chroot(c.as_ptr()) != 0 { return Err(std::io::Error::last_os_error().into()); }
if libc::chroot(c.as_ptr()) != 0 {