Skip to content

Commit 227a9a9

Browse files
authored
Merge pull request #8626 from sylvestre/traversal5
safe traversal: use the nix crate instead of unsafe calls to libc
2 parents 8357431 + ee462a5 commit 227a9a9

File tree

4 files changed

+125
-171
lines changed

4 files changed

+125
-171
lines changed

src/uucore/Cargo.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,13 @@ fluent-bundle = { workspace = true }
8080
thiserror = { workspace = true }
8181
[target.'cfg(unix)'.dependencies]
8282
walkdir = { workspace = true, optional = true }
83-
nix = { workspace = true, features = ["fs", "uio", "zerocopy", "signal"] }
83+
nix = { workspace = true, features = [
84+
"fs",
85+
"uio",
86+
"zerocopy",
87+
"signal",
88+
"dir",
89+
] }
8490
xattr = { workspace = true, optional = true }
8591

8692
[dev-dependencies]

src/uucore/locales/en-US.ftl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,13 @@ action-removing = removing
3737
action-creating = creating
3838
action-reading = reading
3939
action-writing = writing
40+
41+
# Safe traversal error messages
42+
safe-traversal-error-path-contains-null = path contains null byte
43+
safe-traversal-error-open-failed = failed to open '{ $path }': { $source }
44+
safe-traversal-error-stat-failed = failed to stat '{ $path }': { $source }
45+
safe-traversal-error-read-dir-failed = failed to read directory '{ $path }': { $source }
46+
safe-traversal-error-unlink-failed = failed to unlink '{ $path }': { $source }
47+
safe-traversal-error-invalid-fd = invalid file descriptor
48+
safe-traversal-current-directory = <current directory>
49+
safe-traversal-directory = <directory>

src/uucore/locales/fr-FR.ftl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,13 @@ action-removing = suppression
3737
action-creating = création
3838
action-reading = lecture
3939
action-writing = écriture
40+
41+
# Messages d'erreur de traversée sécurisée
42+
safe-traversal-error-path-contains-null = le chemin contient un octet null
43+
safe-traversal-error-open-failed = échec de l'ouverture de '{ $path }' : { $source }
44+
safe-traversal-error-stat-failed = échec de l'analyse de '{ $path }' : { $source }
45+
safe-traversal-error-read-dir-failed = échec de la lecture du répertoire '{ $path }' : { $source }
46+
safe-traversal-error-unlink-failed = échec de la suppression de '{ $path }' : { $source }
47+
safe-traversal-error-invalid-fd = descripteur de fichier invalide
48+
safe-traversal-current-directory = <répertoire courant>
49+
safe-traversal-directory = <répertoire>

0 commit comments

Comments
 (0)