rust-lang/rust-clippy
Voir sur GitHubTOCTOU: call `Path::metadata` after `Path::exists`
Open
#17 158 ouverte le 4 juin 2026
A-lintgood first issue
Métriques du dépôt
- Stars
- (10 406 stars)
- Métriques de merge PR
- (Merge moyen 16j 6h) (79 PRs mergées en 30 j)
Description
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