Skip to content

Commit

Permalink
Add some warnings to std::env::current_exe
Browse files Browse the repository at this point in the history
/cc #21889
  • Loading branch information
steveklabnik committed May 9, 2016
1 parent 0e7cb8b commit 8478d48
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions src/libstd/env.rs
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,21 @@ pub fn temp_dir() -> PathBuf {
/// that can fail for a good number of reasons. Some errors can include, but not
/// be limited to, filesystem operations failing or general syscall failures.
///
/// # Security
///
/// This function should be used with care, as its incorrect usage can cause
/// security problems. Specifically, as with many operations invovling files and
/// paths, you can introduce a race condition. It goes like this:
///
/// 1. You get the path to the current executable using `current_exe()`, and
/// store it in a variable binding.
/// 2. Time passes. A malicious actor removes the current executable, and
/// replaces it with a malicious one.
/// 3. You then use the binding to try to open that file.
///
/// You expected to be opening the current executable, but you're now opening
/// something completely different.
///
/// # Examples
///
/// ```
Expand Down

0 comments on commit 8478d48

Please sign in to comment.