diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-08-27 17:33:30 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-08-27 17:33:30 +0000 |
commit | 6685b744d5acf586794ab820719a1a5a277579d2 (patch) | |
tree | 36487f964e201cfdd6ce617a9396ca5469f34010 | |
parent | 18cf72767e91b71b9d4ebbce260d30458de67c43 (diff) |
2010-08-27 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1692/filesystem
* libcsupport/include/rtems/libio.h, libfs/src/imfs/imfs_eval.c: Fix
implementation and use of rtems_libio_is_valid_perms().
-rw-r--r-- | cpukit/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/libcsupport/include/rtems/libio.h | 3 | ||||
-rw-r--r-- | cpukit/libfs/src/imfs/imfs_eval.c | 6 |
3 files changed, 9 insertions, 6 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 38c4c3389c..a4b6c4c5de 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2010-08-27 Joel Sherrill <joel.sherrilL@OARcorp.com> + + 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 <dufault@hda.com> PR 1570/cpukit diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index 9f36086b18..7b118a573d 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -529,8 +529,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) /* * Prototypes for filesystem diff --git a/cpukit/libfs/src/imfs/imfs_eval.c b/cpukit/libfs/src/imfs/imfs_eval.c index 3d8df0b2e0..ee5ddea520 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; |