diff options
| author | Jeremy Soller <jackpot51@gmail.com> | 2018-08-16 18:47:52 -0600 |
|---|---|---|
| committer | jD91mZM2 <me@krake.one> | 2018-10-18 16:30:44 +0200 |
| commit | 8c277d843cbac4d89f5f2dbfdb773cb80f48977b (patch) | |
| tree | 7a9091f582e41fd2901e1bf4abbd4cb927261d80 /src/libstd | |
| parent | b400005861ae54fda63e7bac48010f5782577dd1 (diff) | |
| download | rust-8c277d843cbac4d89f5f2dbfdb773cb80f48977b.tar.gz rust-8c277d843cbac4d89f5f2dbfdb773cb80f48977b.zip | |
Don't forget to close executable file
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sys/redox/process.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstd/sys/redox/process.rs b/src/libstd/sys/redox/process.rs index f85834dff5d..566c3e72922 100644 --- a/src/libstd/sys/redox/process.rs +++ b/src/libstd/sys/redox/process.rs @@ -318,7 +318,7 @@ impl Command { }; let fd = if let Some(program) = program { - t!(cvt(syscall::open(program.as_os_str().as_bytes(), syscall::O_RDONLY))) + t!(cvt(syscall::open(program.as_os_str().as_bytes(), syscall::O_RDONLY | syscall::O_CLOEXEC))) } else { return io::Error::from_raw_os_error(syscall::ENOENT); }; @@ -341,6 +341,7 @@ impl Command { } if let Err(err) = syscall::fexec(fd, &args, &vars) { + let _ = syscall::close(fd); io::Error::from_raw_os_error(err.errno as i32) } else { panic!("return from exec without err"); |
