summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/ftruncate.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-07-22 16:04:38 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-07-22 16:04:38 +0000
commit58f3fab9598c531ea1ea4e13702abb8d87b75bf2 (patch)
tree666c7861336b142ec3bac6812ccbba9b574bdc94 /cpukit/libcsupport/src/ftruncate.c
parent2011-07-21 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-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.c3
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 );
}