summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorTill Straumann <strauman@slac.stanford.edu>2008-05-30 23:21:06 +0000
committerTill Straumann <strauman@slac.stanford.edu>2008-05-30 23:21:06 +0000
commit9cf3432cc488d64cf958186b7b9e9923ff79cf3c (patch)
tree695abf0c2db41c45cffdb86e1ec3e107410c34c0 /cpukit
parent2008-05-29 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-9cf3432cc488d64cf958186b7b9e9923ff79cf3c.tar.bz2
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.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/ChangeLog6
-rw-r--r--cpukit/libfs/src/nfsclient/src/nfs.c5
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;
}
}