diff options
-rw-r--r-- | pfinet/io-ops.c | 3 | ||||
-rw-r--r-- | pflocal/io.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/pfinet/io-ops.c b/pfinet/io-ops.c index 1eaae9bd..35281ce0 100644 --- a/pfinet/io-ops.c +++ b/pfinet/io-ops.c @@ -377,13 +377,14 @@ S_io_reauthenticate (struct sock_user *user, auth = getauth (); err = auth_server_authenticate (auth, rend, - MACH_MSG_TYPE_MOVE_SEND, + MACH_MSG_TYPE_COPY_SEND, ports_get_right (newuser), MACH_MSG_TYPE_MAKE_SEND, &gen_uids, &genuidlen, &aux_uids, &auxuidlen, &gen_gids, &gengidlen, &aux_gids, &auxgidlen); + mach_port_deallocate (mach_task_self (), rend); assert (!err); /* XXX */ mach_port_deallocate (mach_task_self (), auth); diff --git a/pflocal/io.c b/pflocal/io.c index 5f6348d2..bae8317d 100644 --- a/pflocal/io.c +++ b/pflocal/io.c @@ -402,10 +402,11 @@ S_io_reauthenticate (struct sock_user *user, mach_port_t rendezvous) auth_server = getauth (); err = auth_server_authenticate (auth_server, - rendezvous, MACH_MSG_TYPE_MOVE_SEND, + rendezvous, MACH_MSG_TYPE_COPY_SEND, new_user_port, MACH_MSG_TYPE_MAKE_SEND, &uids, &num_uids, &aux_uids, &num_aux_uids, &gids, &num_gids, &aux_gids, &num_aux_gids); + mach_port_deallocate (mach_task_self (), rendezvous); mach_port_deallocate (mach_task_self (), auth_server); /* Throw away the ids we went through all that trouble to get... */ |