summaryrefslogtreecommitdiff
path: root/modules/pam_selinux
diff options
context:
space:
mode:
authorTomas Mraz <tm@t8m.info>2008-04-22 19:21:37 +0000
committerTomas Mraz <tm@t8m.info>2008-04-22 19:21:37 +0000
commit52f517dd540bdd12c5fa239bd7f60b51aaea9326 (patch)
tree590c9aa4a1d630b14c0dcea8190bc5fbbd79a6b7 /modules/pam_selinux
parentaeccee4585ab2ea6deab9cbebc7afc67b7196a80 (diff)
Relevant BUGIDs: rhbz#443667
Purpose of commit: bugfix Commit summary: --------------- 2008-04-22 Tomas Mraz <t8m@centrum.cz> * modules/pam_selinux/pam_selinux.c(pam_sm_close_sesion): Fix regression from the change from 2008-03-20. setexeccon() must be called also with NULL prev_context.
Diffstat (limited to 'modules/pam_selinux')
-rw-r--r--modules/pam_selinux/pam_selinux.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/modules/pam_selinux/pam_selinux.c b/modules/pam_selinux/pam_selinux.c
index f679e33d..da49f3f9 100644
--- a/modules/pam_selinux/pam_selinux.c
+++ b/modules/pam_selinux/pam_selinux.c
@@ -702,21 +702,21 @@ pam_sm_close_session(pam_handle_t *pamh, int flags UNUSED,
free(ttyn);
ttyn=NULL;
}
- if (prev_user_context) {
- if (setexeccon(prev_user_context)) {
+
+ if (setexeccon(prev_user_context)) {
pam_syslog(pamh, LOG_ERR, "Unable to restore executable context %s.",
- prev_user_context);
+ prev_user_context ? prev_user_context : "");
if (security_getenforce() == 1)
status = PAM_AUTH_ERR;
else
status = PAM_SUCCESS;
- }
+ } else if (debug)
+ pam_syslog(pamh, LOG_NOTICE, "Executable context back to original");
+
+ if (prev_user_context) {
freecon(prev_user_context);
prev_user_context = NULL;
}
- if (debug)
- pam_syslog(pamh, LOG_NOTICE, "setcontext back to orginal");
-
return status;
}