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 </tmp/subdir//uname> -1 22

Ref: https://github.com/apache/nuttx/blame/master/libs/libc/stdlib/lib_realpath.c#L111
Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
This commit is contained in:
wangjianyu3 2024-12-06 23:08:58 +08:00 committed by Xiang Xiao
parent 16b63ed837
commit 7562aff615

View file

@ -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)
{