mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Auto merge of #93351 - anp:fuchsia-remove-dir-all, r=tmandry
Bump libc and fix remove_dir_all on Fuchsia after CVE fix With the previous `is_dir` impl, we would attempt to unlink a directory in the None branch, but Fuchsia supports returning ENOTEMPTY from unlinkat() without the AT_REMOVEDIR flag because we don't currently differentiate unlinking files and directories by default. On the Fuchsia side I've opened https://fxbug.dev/92273 to discuss whether this is the correct behavior, but it doesn't seem like addressing the error code is necessary to make our tests happy. Depends on https://github.com/rust-lang/libc/pull/2654 since we apparently haven't needed to reference DT_UNKNOWN before this.
This commit is contained in:
commit
ca43894e0e
@ -1986,9 +1986,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.108"
|
version = "0.2.116"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119"
|
checksum = "565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rustc-std-workspace-core",
|
"rustc-std-workspace-core",
|
||||||
]
|
]
|
||||||
|
@ -15,7 +15,7 @@ cfg-if = { version = "0.1.8", features = ['rustc-dep-of-std'] }
|
|||||||
panic_unwind = { path = "../panic_unwind", optional = true }
|
panic_unwind = { path = "../panic_unwind", optional = true }
|
||||||
panic_abort = { path = "../panic_abort" }
|
panic_abort = { path = "../panic_abort" }
|
||||||
core = { path = "../core" }
|
core = { path = "../core" }
|
||||||
libc = { version = "0.2.108", default-features = false, features = ['rustc-dep-of-std'] }
|
libc = { version = "0.2.116", default-features = false, features = ['rustc-dep-of-std'] }
|
||||||
compiler_builtins = { version = "0.1.66" }
|
compiler_builtins = { version = "0.1.66" }
|
||||||
profiler_builtins = { path = "../profiler_builtins", optional = true }
|
profiler_builtins = { path = "../profiler_builtins", optional = true }
|
||||||
unwind = { path = "../unwind" }
|
unwind = { path = "../unwind" }
|
||||||
|
@ -1653,7 +1653,6 @@ mod remove_dir_impl {
|
|||||||
target_os = "illumos",
|
target_os = "illumos",
|
||||||
target_os = "haiku",
|
target_os = "haiku",
|
||||||
target_os = "vxworks",
|
target_os = "vxworks",
|
||||||
target_os = "fuchsia"
|
|
||||||
))]
|
))]
|
||||||
fn is_dir(_ent: &DirEntry) -> Option<bool> {
|
fn is_dir(_ent: &DirEntry) -> Option<bool> {
|
||||||
None
|
None
|
||||||
@ -1664,7 +1663,6 @@ mod remove_dir_impl {
|
|||||||
target_os = "illumos",
|
target_os = "illumos",
|
||||||
target_os = "haiku",
|
target_os = "haiku",
|
||||||
target_os = "vxworks",
|
target_os = "vxworks",
|
||||||
target_os = "fuchsia"
|
|
||||||
)))]
|
)))]
|
||||||
fn is_dir(ent: &DirEntry) -> Option<bool> {
|
fn is_dir(ent: &DirEntry) -> Option<bool> {
|
||||||
match ent.entry.d_type {
|
match ent.entry.d_type {
|
||||||
|
Loading…
Reference in New Issue
Block a user