summaryrefslogtreecommitdiff
path: root/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'session.c')
-rw-r--r--session.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/session.c b/session.c
index f30d7ac51..96960f2da 100644
--- a/session.c
+++ b/session.c
@@ -2680,13 +2680,19 @@ do_cleanup(struct ssh *ssh, Authctxt *authctxt)
#ifdef KRB5
if (options.kerberos_ticket_cleanup &&
- authctxt->krb5_ctx)
+ authctxt->krb5_ctx) {
+ temporarily_use_uid(authctxt->pw);
krb5_cleanup_proc(authctxt);
+ restore_uid();
+ }
#endif
#ifdef GSSAPI
- if (options.gss_cleanup_creds)
+ if (options.gss_cleanup_creds) {
+ temporarily_use_uid(authctxt->pw);
ssh_gssapi_cleanup_creds();
+ restore_uid();
+ }
#endif
/* remove agent socket */