diff options
Diffstat (limited to 'libnetfs')
-rw-r--r-- | libnetfs/trans-callback.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libnetfs/trans-callback.c b/libnetfs/trans-callback.c index f4f0c62b..3f1aee6a 100644 --- a/libnetfs/trans-callback.c +++ b/libnetfs/trans-callback.c @@ -58,14 +58,18 @@ _netfs_translator_callback2_fn (void *cookie1, void *cookie2, int flags, struct protid *cred; struct node *node = cookie1; struct iouser *user; + struct peropen *po; err = iohelp_create_simple_iouser (&user, node->nn_stat.st_uid, node->nn_stat.st_gid); if (err) return err; - cred = netfs_make_protid (netfs_make_peropen (node, flags, cookie2), - user); + po = netfs_make_peropen (node, flags, cookie2); + if (! po) + return errno; + + cred = netfs_make_protid (po, user); if (cred) { *underlying = ports_get_right (cred); |