From 7562aff6152a71aafaa093d181ff0b021ef4440f Mon Sep 17 00:00:00 2001 From: wangjianyu3 Date: Fri, 6 Dec 2024 23:08:58 +0800 Subject: [PATCH] fs/tmpfs: Skip any slash at the beginning of relpath `tmpfs_stat()` fails when relpath start with slash. Log Host $ adb -s 1234 pull /tmp/subdir adb: warning: skipping special file '/tmp/subdir/uname' (mode = 0o0) /tmp/subdir/: 0 files pulled. 1 file skipped. Device state_process_list (411): stat failed -1 22 Ref: https://github.com/apache/nuttx/blame/master/libs/libc/stdlib/lib_realpath.c#L111 Signed-off-by: wangjianyu3 --- fs/tmpfs/fs_tmpfs.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fs/tmpfs/fs_tmpfs.c b/fs/tmpfs/fs_tmpfs.c index 58c39175e0..e4f5f25b32 100644 --- a/fs/tmpfs/fs_tmpfs.c +++ b/fs/tmpfs/fs_tmpfs.c @@ -889,6 +889,14 @@ static int tmpfs_find_object(FAR struct tmpfs_s *fs, * relpath. */ + /* Skip any slash. */ + + while (*segment == '/') + { + segment++; + len--; + } + next_segment = memchr(segment, '/', len); if (next_segment) {