From 70949becf62a74fbd89f11e58f4ae1795f07c7da Mon Sep 17 00:00:00 2001 From: fufesou Date: Fri, 24 Jul 2026 10:20:10 +0800 Subject: [PATCH] fix: expose validated path join --- src/fs.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fs.rs b/src/fs.rs index 53a82990b..3dcc1c6db 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -553,7 +553,8 @@ fn validate_no_symlink_components(base: &PathBuf, name: &str) -> ResultType<()> Ok(()) } -fn join_validated_path(base: &PathBuf, name: &str) -> ResultType { +/// Validate an untrusted relative file name and existing path components before joining it. +pub fn join_validated_path(base: &PathBuf, name: &str) -> ResultType { validate_file_name_no_traversal(name)?; validate_no_symlink_components(base, name)?; Ok(TransferJob::join(base, name))