diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-07-22 16:04:38 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2011-07-22 16:04:38 +0000 |
commit | 58f3fab9598c531ea1ea4e13702abb8d87b75bf2 (patch) | |
tree | 666c7861336b142ec3bac6812ccbba9b574bdc94 /cpukit/libcsupport/src/ftruncate.c | |
parent | 2011-07-21 Till Straumann <strauman@slac.stanford.edu> (diff) | |
download | rtems-58f3fab9598c531ea1ea4e13702abb8d87b75bf2.tar.bz2 |
2011-07-22 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1839/filesystem
* libcsupport/include/rtems/libio_.h, libcsupport/src/fchdir.c,
libcsupport/src/fdatasync.c, libcsupport/src/fpathconf.c,
libcsupport/src/fsync.c, libcsupport/src/ftruncate.c,
libcsupport/src/read.c, libcsupport/src/readv.c,
libcsupport/src/write.c, libcsupport/src/writev.c: Some calls did not
return proper status for permission errors or incorrectly permissions
at all.
Diffstat (limited to 'cpukit/libcsupport/src/ftruncate.c')
-rw-r--r-- | cpukit/libcsupport/src/ftruncate.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/cpukit/libcsupport/src/ftruncate.c b/cpukit/libcsupport/src/ftruncate.c index 64946d7bb6..9c50ca2fbe 100644 --- a/cpukit/libcsupport/src/ftruncate.c +++ b/cpukit/libcsupport/src/ftruncate.c @@ -32,6 +32,7 @@ int ftruncate( rtems_libio_check_fd( fd ); iop = rtems_libio_iop( fd ); rtems_libio_check_is_open(iop); + rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE ); /* * Now process the ftruncate() request. @@ -45,7 +46,5 @@ int ftruncate( if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) rtems_set_errno_and_return_minus_one( EISDIR ); - rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE ); - return (*iop->pathinfo.handlers->ftruncate_h)( iop, length ); } |