summaryrefslogtreecommitdiff
path: root/trans/fakeroot.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2014-02-05 23:57:39 +0100
committerRichard Braun <rbraun@sceen.net>2014-02-05 23:57:39 +0100
commit90246df5d413c6b6a2d57d66c48c2fe3206eb42b (patch)
tree4edb346ebe3ca36018f6b3036310ff9f09eafe15 /trans/fakeroot.c
parentb17be9b496a6dfe10babb8102d8e55ad9a3fc2e2 (diff)
trans/fakeroot: fix right leak
* trans/fakeroot.c (netfs_S_dir_lookup): Deallocate rights to intermediate file systems.
Diffstat (limited to 'trans/fakeroot.c')
-rw-r--r--trans/fakeroot.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 0e0b618a..3dce22e8 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -287,6 +287,8 @@ netfs_S_dir_lookup (struct protid *diruser,
err = dir_lookup (dir, filename,
flags & (O_NOLINK|O_RDWR|O_EXEC|O_CREAT|O_EXCL|O_NONBLOCK),
mode, do_retry, retry_name, &file);
+ if (dir != dnp->nn->file)
+ mach_port_deallocate (mach_task_self (), dir);
if (err)
return err;