mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-28 01:17:07 +08:00
【修复】修复symlink系统调用返回值不是预期问题
This commit is contained in:
parent
8ba75bddc3
commit
c4c227e367
@ -1567,6 +1567,10 @@ int dfs_file_symlink(const char *target, const char *linkpath)
|
|||||||
rt_free(parent);
|
rt_free(parent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rt_set_errno(-EPERM);
|
||||||
|
}
|
||||||
|
|
||||||
if (fullpath != linkpath)
|
if (fullpath != linkpath)
|
||||||
rt_free(fullpath);
|
rt_free(fullpath);
|
||||||
|
@ -5909,28 +5909,31 @@ sysret_t sys_link(const char *existing, const char *new)
|
|||||||
sysret_t sys_symlink(const char *existing, const char *new)
|
sysret_t sys_symlink(const char *existing, const char *new)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
int err = 0 ;
|
||||||
#ifdef ARCH_MM_MMU
|
#ifdef ARCH_MM_MMU
|
||||||
int err;
|
|
||||||
|
|
||||||
err = lwp_user_strlen(existing);
|
ret = lwp_user_strlen(existing);
|
||||||
if (err <= 0)
|
if (ret <= 0)
|
||||||
{
|
{
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = lwp_user_strlen(new);
|
ret = lwp_user_strlen(new);
|
||||||
if (err <= 0)
|
if (ret <= 0)
|
||||||
{
|
{
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef RT_USING_DFS_V2
|
#ifdef RT_USING_DFS_V2
|
||||||
ret = dfs_file_symlink(existing, new);
|
ret = dfs_file_symlink(existing, new);
|
||||||
|
if(ret < 0)
|
||||||
|
{
|
||||||
|
err = GET_ERRNO();
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
SET_ERRNO(EFAULT);
|
SET_ERRNO(EFAULT);
|
||||||
#endif
|
#endif
|
||||||
return (ret < 0 ? GET_ERRNO() : ret);
|
return (err < 0 ? err : ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
sysret_t sys_eventfd2(unsigned int count, int flags)
|
sysret_t sys_eventfd2(unsigned int count, int flags)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user