From 336457634453acfaa09ebc4e9bc0491862c568fb Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 23 Jul 2010 00:11:32 +0000 Subject: [PATCH] 2010-07-22 Joel Sherrill PR 1627/testing * libfs/src/devfs/devstat.c: --- cpukit/ChangeLog | 5 +++++ cpukit/libfs/src/devfs/devstat.c | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index cbadd0f700..e7b4cd6ec5 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2010-07-22 Joel Sherrill + + PR 1627/testing + * libfs/src/devfs/devstat.c: + 2010-07-16 Sebastian Huber * libcsupport/src/link.c: Do not overwrite errno with return status. diff --git a/cpukit/libfs/src/devfs/devstat.c b/cpukit/libfs/src/devfs/devstat.c index 7bfdfec00c..db17595621 100644 --- a/cpukit/libfs/src/devfs/devstat.c +++ b/cpukit/libfs/src/devfs/devstat.c @@ -27,13 +27,19 @@ int devFS_stat( rtems_device_name_t *the_dev; the_dev = (rtems_device_name_t *)loc->node_access; - if (!the_dev) - rtems_set_errno_and_return_minus_one( EFAULT ); + + /* + * stat() invokes devFS_evaluate_path() which checks that node_access + * is not NULL. So this should NEVER be NULL unless someone breaks + * other code in this filesystem. + */ + #if defined(RTEMS_DEBUG) + if (!the_dev) + rtems_set_errno_and_return_minus_one( EFAULT ); + #endif buf->st_rdev = rtems_filesystem_make_dev_t( the_dev->major, the_dev->minor ); - buf->st_mode = the_dev->mode; - return 0; }