summaryrefslogtreecommitdiff
path: root/libnetfs
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2013-10-04 20:18:24 +0200
committerRichard Braun <rbraun@sceen.net>2013-10-04 20:18:24 +0200
commit98b6f846b628e858acbae9258bac78cf54126d27 (patch)
treeb358404262deac9cebee0a7c96743875c5957c90 /libnetfs
parent6c3825f2b750bf9b913c6ea986739e648c470603 (diff)
Fix memory leak in libnetfs
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Properly jump to the single exit point if fshelp_fetch_root fails.
Diffstat (limited to 'libnetfs')
-rw-r--r--libnetfs/dir-lookup.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/libnetfs/dir-lookup.c b/libnetfs/dir-lookup.c
index 10ea2d0b..74351fa9 100644
--- a/libnetfs/dir-lookup.c
+++ b/libnetfs/dir-lookup.c
@@ -277,15 +277,13 @@ netfs_S_dir_lookup (struct protid *diruser,
if (error != ENOENT)
{
- netfs_nrele (dnp);
- netfs_nput (np);
*retry_port_type = MACH_MSG_TYPE_MOVE_SEND;
if (!lastcomp && !error)
{
strcat (retry_name, "/");
strcat (retry_name, nextname);
}
- return error;
+ goto out;
}
/* ENOENT means there was a hiccup, and the translator vanished