From 20a80973cf707f2c54926b3f5318ebb775bc421b Mon Sep 17 00:00:00 2001 From: zhouji Date: Thu, 12 Aug 2021 22:12:48 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BF=AE=E5=A4=8Dsyscall=E4=B8=AD?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E7=9A=84bug=201.=20=E4=BF=AE=E5=A4=8Dsys=5Fg?= =?UTF-8?q?etdents=E4=B8=AD=E8=BF=94=E5=9B=9E=E5=80=BC=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E9=94=99=E8=AF=AF=EF=BC=8C=E6=9C=89=E5=8F=AF=E8=83=BD=E4=BC=9A?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=86=85=E5=AD=98=E8=B6=8A=E7=95=8C=EF=BC=8C?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=B4=A9=E6=BA=83=E3=80=82=202.=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8Dsys=5Faccess=E4=B8=ADlen=E5=80=BC=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9A=84bug,=20=E8=BF=99=E4=BC=9A=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=AD=97=E7=AC=A6=E4=B8=B2=E8=A2=AB=E6=88=AA=E6=96=AD?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/lwp/lwp_syscall.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/components/lwp/lwp_syscall.c b/components/lwp/lwp_syscall.c index 31c66c9bd8..4d49f93193 100644 --- a/components/lwp/lwp_syscall.c +++ b/components/lwp/lwp_syscall.c @@ -3349,8 +3349,8 @@ int sys_getdents(int fd, struct libc_dirent *dirp, size_t nbytes) return -1; } dfs_fd = fd_get(fd); - ret = dfs_file_getdents(dfs_fd, rtt_dirp, nbytes); - if (ret) + ret = dfs_file_getdents(dfs_fd, rtt_dirp, rtt_nbytes); + if (ret > 0) { size_t i = 0; cnt = ret / sizeof(struct dirent); @@ -3420,6 +3420,13 @@ int sys_access(const char *filename, int mode) ret = -1; } + len = rt_strlen(filename); + if (!len) + { + rt_set_errno(EINVAL); + return -1; + } + kname = (char *)kmem_get(len + 1); if (!ret && !kname) { -- Gitee