summaryrefslogtreecommitdiff
path: root/libtrivfs/fsys-getroot.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtrivfs/fsys-getroot.c')
-rw-r--r--libtrivfs/fsys-getroot.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/libtrivfs/fsys-getroot.c b/libtrivfs/fsys-getroot.c
index d91b9fa8..90a93d13 100644
--- a/libtrivfs/fsys-getroot.c
+++ b/libtrivfs/fsys-getroot.c
@@ -44,7 +44,6 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl,
mach_port_t new_realnode;
struct trivfs_protid *cred;
struct iouser *user;
- struct idvec *uvec, *gvec;
if (!cntl)
return EOPNOTSUPP;
@@ -75,11 +74,9 @@ trivfs_S_fsys_getroot (struct trivfs_control *cntl,
if (err)
return err;
- uvec = make_idvec ();
- gvec = make_idvec ();
- idvec_set_ids (uvec, uids, nuids);
- idvec_set_ids (gvec, gids, ngids);
- user = iohelp_create_iouser (uvec, gvec); /* XXX check return value? */
+ err = iohelp_create_complex_iouser (&user, uids, nuids, gids, ngids);
+ if (err)
+ return err;
/* Validate permissions. */
if (! trivfs_check_access_hook)