From 48dba6ee86af9a76798e2ee69502695107412ab4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 27 Aug 2010 17:33:23 +0000 Subject: 2010-08-27 Joel Sherrill PR 1692/filesystem * libcsupport/include/rtems/libio.h, libfs/src/imfs/imfs_eval.c: Fix implementation and use of rtems_libio_is_valid_perms(). --- cpukit/ChangeLog | 6 ++++++ cpukit/libcsupport/include/rtems/libio.h | 2 +- cpukit/libfs/src/imfs/imfs_eval.c | 6 ++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 9f9d6d4f69..2dc9101237 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2010-08-27 Joel Sherrill + + PR 1692/filesystem + * libcsupport/include/rtems/libio.h, libfs/src/imfs/imfs_eval.c: Fix + implementation and use of rtems_libio_is_valid_perms(). + 2010-06-21 Peter Dufault PR 1570/cpukit diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index 7e2f3ffc60..b84413bc4a 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -530,7 +530,7 @@ static inline rtems_device_minor_number rtems_filesystem_dev_minor_t( * Verifies that the permission flag is valid. */ #define rtems_libio_is_valid_perms( _perm ) \ - (~ ((~RTEMS_LIBIO_PERMS_RWX) & _perm )) + (((~RTEMS_LIBIO_PERMS_RWX) & _perm ) == 0) /* diff --git a/cpukit/libfs/src/imfs/imfs_eval.c b/cpukit/libfs/src/imfs/imfs_eval.c index 9d8328d3a5..adc7cbf12a 100644 --- a/cpukit/libfs/src/imfs/imfs_eval.c +++ b/cpukit/libfs/src/imfs/imfs_eval.c @@ -79,10 +79,8 @@ int IMFS_evaluate_permission( IMFS_jnode_t *jnode; int flags_to_test; - if ( !rtems_libio_is_valid_perms( flags ) ) { - assert( 0 ); - rtems_set_errno_and_return_minus_one( EIO ); - } + if ( !rtems_libio_is_valid_perms( flags ) ) + rtems_set_errno_and_return_minus_one( EPERM ); jnode = node->node_access; -- cgit v1.2.3