From 8881f0eea17229affb031205f90dc1007194d61b Mon Sep 17 00:00:00 2001 From: Troy Date: Wed, 27 Mar 2024 20:32:59 +0800 Subject: [PATCH] Fix the issue of incorrect return of invalid parameters in aio_write --- components/libc/posix/io/aio/aio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/components/libc/posix/io/aio/aio.c b/components/libc/posix/io/aio/aio.c index b1d443b334..a6d8acab09 100644 --- a/components/libc/posix/io/aio/aio.c +++ b/components/libc/posix/io/aio/aio.c @@ -7,6 +7,7 @@ * Date Author Notes * 2017/12/30 Bernard The first version. * 2024/03/26 TroyMitchelle Added some function comments + * 2024/03/27 TroyMitchelle Fix the issue of incorrect return of invalid parameters in aio_write */ #include @@ -401,7 +402,8 @@ int aio_write(struct aiocb *cb) /* check access mode */ oflags = fcntl(cb->aio_fildes, F_GETFL, 0); - if ((oflags & O_ACCMODE) != O_WRONLY || + /* If the flag is not in write only or read-write mode, it cannot be written then an invalid parameter is returned */ + if ((oflags & O_ACCMODE) != O_WRONLY && (oflags & O_ACCMODE) != O_RDWR) return -EINVAL;