From f0fe80fffa93f0b87b12aeea487d0ff1b4736695 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Fri, 21 Jul 1995 21:33:57 +0000 Subject: (diskfs_S_fsys_getroot): Free initial reference created by diskfs_make_protid. --- libdiskfs/fsys-getroot.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libdiskfs') diff --git a/libdiskfs/fsys-getroot.c b/libdiskfs/fsys-getroot.c index 8b4eb4a5..a7492ed0 100644 --- a/libdiskfs/fsys-getroot.c +++ b/libdiskfs/fsys-getroot.c @@ -45,6 +45,7 @@ diskfs_S_fsys_getroot (fsys_t controlport, error_t error = 0; mode_t type; struct protid pseudocred; + struct protid *newpi; if (!pt) return EOPNOTSUPP; @@ -159,14 +160,15 @@ diskfs_S_fsys_getroot (fsys_t controlport, flags &= ~OPENONLY_STATE_MODES; + newpi = diskfs_make_protid (diskfs_make_peropen (diskfs_root_node, + flags, dotdot), + uids, nuids, gids, ngids); *retry = FS_RETRY_NORMAL; *retryname = '\0'; - *returned_port = (ports_get_right - (diskfs_make_protid - (diskfs_make_peropen (diskfs_root_node, flags, dotdot), - uids, nuids, gids, ngids))); + *returned_port = ports_get_right (newpi); *returned_port_poly = MACH_MSG_TYPE_MAKE_SEND; - + ports_port_deref (newpi); + mutex_unlock (&diskfs_root_node->lock); ports_port_deref (pt); -- cgit v1.2.3