From 58f3fab9598c531ea1ea4e13702abb8d87b75bf2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 22 Jul 2011 16:04:38 +0000 Subject: 2011-07-22 Joel Sherrill 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. --- cpukit/libcsupport/src/ftruncate.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'cpukit/libcsupport/src/ftruncate.c') 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 ); } -- cgit v1.2.3