diff options
author | Michael I. Bushnell <mib@gnu.org> | 1996-07-08 01:07:47 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1996-07-08 01:07:47 +0000 |
commit | de4711a130cc5c01359f7e0b58e4496e0ecf6c26 (patch) | |
tree | 4299129efee3b5b711a30094ea5c083d518bf3a0 | |
parent | ca958048e8442eb700ee72d9fabebe85ed845d43 (diff) |
(diskfs_S_io_reauthenticate): Don't use unsafe MOVE_SEND in
auth_server_authenticate.
-rw-r--r-- | libdiskfs/io-reauthenticate.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/libdiskfs/io-reauthenticate.c b/libdiskfs/io-reauthenticate.c index 13af7b38..25765161 100644 --- a/libdiskfs/io-reauthenticate.c +++ b/libdiskfs/io-reauthenticate.c @@ -46,17 +46,16 @@ diskfs_S_io_reauthenticate (struct protid *cred, return err; } - do - err = auth_server_authenticate (diskfs_auth_server_port, - rend_port, - MACH_MSG_TYPE_MOVE_SEND, - ports_get_right (newcred), - MACH_MSG_TYPE_MAKE_SEND, - &gen_uids, &genuidlen, - &aux_uids, &auxuidlen, - &gen_gids, &gengidlen, - &aux_gids, &auxgidlen); - while (err == EINTR); + err = auth_server_authenticate (diskfs_auth_server_port, + rend_port, + MACH_MSG_TYPE_COPY_SEND, + ports_get_right (newcred), + MACH_MSG_TYPE_MAKE_SEND, + &gen_uids, &genuidlen, + &aux_uids, &auxuidlen, + &gen_gids, &gengidlen, + &aux_gids, &auxgidlen); + mach_port_deallocate (mach_task_self (), rend_port); if (err) diskfs_finish_protid (newcred, 0, 0, 0, 0); |