rust-lang/rust-clippy
GitHub で見るTOCTOU: call `Path::metadata` after `Path::exists`
Open
#17,158 opened on 2026年6月4日
A-lintgood first issue
Repository metrics
- Stars
- (10,406 stars)
- PR merge metrics
- (平均マージ 16d 6h) (30d で 79 merged PRs)
説明
What it does
Detect when calling Path::exists followed by another operation that would cause a new syscall to be used on the path, like Path::metadata.
Advantage
Remove a source of TOCTOU bugs.
Drawbacks
No response
Example
if new_path.exists() {
let md = new_path.metadata().unwrap();
Could be written as:
if let Ok(md) = new_path.metadata() {
Comparison with existing lints
No response