diff options
-rw-r--r-- | cpukit/ChangeLog | 6 | ||||
-rw-r--r-- | cpukit/libfs/src/nfsclient/src/nfs.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 5e8467a64d..83d44e38a7 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2008-05-30 Till Straumann <strauman@slac.stanford.edu> + + * libfs/src/nfsclient/src/nfs.c:BUGFIX: must not attempt to + release node if rtems_filesystem_evaluate_path() fails + in nfs_eval_link() since pathloc contains no valid node. + 2008-05-27 Joel Sherrill <joel.sherrill@oarcorp.com> * libmisc/shell/shell_getchar.c: Minor change so dropping connection diff --git a/cpukit/libfs/src/nfsclient/src/nfs.c b/cpukit/libfs/src/nfsclient/src/nfs.c index 3983e77b9f..62160886d1 100644 --- a/cpukit/libfs/src/nfsclient/src/nfs.c +++ b/cpukit/libfs/src/nfsclient/src/nfs.c @@ -2401,6 +2401,11 @@ int rval = RVAL_ERR_AND_DO_FREENODE; rtems_filesystem_freenode(pathloc); if (rtems_filesystem_evaluate_path(buf, flags, pathloc, 1)) { + /* If evalpath fails then there is no valid node + * attached to pathloc; hence we must not attempt + * to free the node + */ + rval = RVAL_ERR_BUT_DONT_FREENODE; goto cleanup; } } |