aio_fsync: fix the access mode check
Make use of O_ACCMODE and O_RDONLY instead of assuming details of the O_* flags.
This commit is contained in:
parent
115411772b
commit
b31606c0e1
|
@ -1,3 +1,7 @@
|
|||
2012-09-28 Pino Toscano <toscano.pino@tiscali.it>
|
||||
|
||||
* sysdeps/pthread/aio_fsync.c: Fix the file mode checking.
|
||||
|
||||
2012-09-28 Dmitry V. Levin <ldv@altlinux.org>
|
||||
|
||||
[BZ #11438]
|
||||
|
|
|
@ -46,7 +46,7 @@ aio_fsync (int op, struct aiocb *aiocbp)
|
|||
|
||||
flags = fcntl (aiocbp->aio_fildes, F_GETFL);
|
||||
if (__builtin_expect (flags == -1, 0)
|
||||
|| __builtin_expect ((flags & (O_RDWR | O_WRONLY)) == 0, 0))
|
||||
|| __builtin_expect ((flags & O_ACCMODE) == O_RDONLY, 0))
|
||||
{
|
||||
__set_errno (EBADF);
|
||||
return -1;
|
||||
|
|
Loading…
Reference in a new issue