aio_fsync: fix the access mode check
authorPino Toscano <toscano.pino@tiscali.it>
Fri, 28 Sep 2012 16:35:43 +0000 (18:35 +0200)
committerPino Toscano <toscano.pino@tiscali.it>
Fri, 28 Sep 2012 16:35:43 +0000 (18:35 +0200)
Make use of O_ACCMODE and O_RDONLY instead of assuming details of the O_* flags.

ChangeLog
sysdeps/pthread/aio_fsync.c

index 27cf3a9..207519b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]
index 046e25c..5b5d186 100644 (file)
@@ -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;