From c19ef051798ee9b6bfb18012fa0b0335b554160d Mon Sep 17 00:00:00 2001 From: zhujiale <945386260@qq.com> Date: Wed, 21 Aug 2024 13:40:50 +0800 Subject: [PATCH 1/4] fix_return --- components/dfs/dfs_v2/src/dfs.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/components/dfs/dfs_v2/src/dfs.c b/components/dfs/dfs_v2/src/dfs.c index 939e4dd66ef..f0d0f394c2f 100644 --- a/components/dfs/dfs_v2/src/dfs.c +++ b/components/dfs/dfs_v2/src/dfs.c @@ -537,6 +537,7 @@ int dfs_dup(int oldfd, int startfd) fdt = dfs_fdtable_get(); if ((oldfd < 0) || (oldfd >= fdt->maxfd)) { + rt_set_errno(-EBADF); goto exit; } if (!fdt->fds[oldfd]) @@ -668,12 +669,17 @@ sysret_t sys_dup(int oldfd) int sys_dup(int oldfd) #endif { + int err = 0; int newfd = dfs_dup(oldfd, (dfs_fdtable_get() == &_fdtab) ? DFS_STDIO_OFFSET : 0); + if(newfd < 0) + { + err = GET_ERRNO(); + } #ifdef RT_USING_SMART - return (sysret_t)newfd; + return err < 0?err : newfd; #else - return newfd; + return err < 0?err : newfd; #endif } From b401cb4089cd9a61f8d69e17555f2f011e651423 Mon Sep 17 00:00:00 2001 From: zhujiale <945386260@qq.com> Date: Wed, 21 Aug 2024 14:18:53 +0800 Subject: [PATCH 2/4] fix --- components/dfs/dfs_v2/src/dfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/dfs/dfs_v2/src/dfs.c b/components/dfs/dfs_v2/src/dfs.c index f0d0f394c2f..153686a5f09 100644 --- a/components/dfs/dfs_v2/src/dfs.c +++ b/components/dfs/dfs_v2/src/dfs.c @@ -673,7 +673,7 @@ int sys_dup(int oldfd) int newfd = dfs_dup(oldfd, (dfs_fdtable_get() == &_fdtab) ? DFS_STDIO_OFFSET : 0); if(newfd < 0) { - err = GET_ERRNO(); + err = rt_get_errno(); } #ifdef RT_USING_SMART From d5c5d5901a4905e6c3269ea825bd581670982dca Mon Sep 17 00:00:00 2001 From: zhuzhuzhu <945386260@qq.com> Date: Sun, 25 Aug 2024 16:10:38 +0800 Subject: [PATCH 3/4] Update components/dfs/dfs_v2/src/dfs.c Co-authored-by: Meco Man <920369182@qq.com> --- components/dfs/dfs_v2/src/dfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/dfs/dfs_v2/src/dfs.c b/components/dfs/dfs_v2/src/dfs.c index 153686a5f09..a0881a6eab8 100644 --- a/components/dfs/dfs_v2/src/dfs.c +++ b/components/dfs/dfs_v2/src/dfs.c @@ -677,7 +677,7 @@ int sys_dup(int oldfd) } #ifdef RT_USING_SMART - return err < 0?err : newfd; + return err < 0 ? err : newfd; #else return err < 0?err : newfd; #endif From 6faf212367d955f6f20c7528fdb9faf69f831c0a Mon Sep 17 00:00:00 2001 From: zhuzhuzhu <945386260@qq.com> Date: Sun, 25 Aug 2024 16:13:11 +0800 Subject: [PATCH 4/4] Update components/dfs/dfs_v2/src/dfs.c Co-authored-by: Meco Man <920369182@qq.com> --- components/dfs/dfs_v2/src/dfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/dfs/dfs_v2/src/dfs.c b/components/dfs/dfs_v2/src/dfs.c index a0881a6eab8..527ba896271 100644 --- a/components/dfs/dfs_v2/src/dfs.c +++ b/components/dfs/dfs_v2/src/dfs.c @@ -679,7 +679,7 @@ int sys_dup(int oldfd) #ifdef RT_USING_SMART return err < 0 ? err : newfd; #else - return err < 0?err : newfd; + return err < 0 ? err : newfd; #endif }