rust-lang/rust-clippy
Vedi su GitHubTOCTOU: call `Path::metadata` after `Path::exists`
Open
#17.158 aperta il 4 giu 2026
A-lintgood first issue
Metriche repository
- Star
- (10.406 star)
- Metriche merge PR
- (Merge medio 16g 6h) (79 PR mergiate in 30 g)
Descrizione
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